冒泡排序和选择排序
时间一久,两个排序都搞不清楚区别了。手写一遍如下:
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; } } }