冒泡排序和选择排序

时间一久,两个排序都搞不清楚区别了。手写一遍如下:

1. 冒泡排序,强调相邻元素的比较,后面的元素都是已经确定位置的

    //冒泡排序
    for(int i=0; i<n-1; i++) {
        for(int j=0; j<n-1-i; j++) {

            if(a[j] > a[j+1]) {
                int tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
            }
        }
    }

2. 选择排序,前面的一个和后面的依次比较,前面的元素都是已经确定位置的

    // 选择排序
    for(int i=0; i<n-1; i++) {
        for(int j=i+1; j<n; j++) {
            if(a[j] < a[i]) {
                int tmp = a[j];
                a[j] = a[i];
                a[i] = tmp;
            }
        }
    }

  

posted @ 2020-06-17 12:37  我喜欢旅行  阅读(163)  评论(0编辑  收藏  举报