冒泡排序和选择排序

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

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;
            }
        }
    }

  

原文地址:https://www.cnblogs.com/yspworld/p/13151827.html