冒泡排序是大数下沉或者小数上浮,代码是相邻两个元素比较,然后满足条件进行交换
- for (int i = 0; i<9; i++) {
- for (int j = 0; j<9-i; j++) {
- // count++;
- if (arr[j]<arr[j+1]) {
- int temp;
- temp = arr[j];
- arr[j] = arr[j+1];
- arr[j+1] = temp;
- printf("\n排序后:");
- for (int i = 0; i<10; i++) {
- printf("%d ",arr[i]);
- }
- }
- }
- }
复制代码
选择排序是每次循环得到一个最大值或者最小值(代码里实现是,i控制外层循环,内层循环i先不动arr与所有的arr[j]比较,每次选出最大的或者最小的,然后下一次就不在管这个最大值或者最小值了)
- for (int i = 0; i < 9; i++) {
- for (int j = i+1; j < 10; j++) {
- if (arr[i] < arr[j]) {
- int temp;
- temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- printf("\n排序后:");
- for (int i = 0; i < 10; i++) {
- printf("%d ",arr[i]);
- }
- }
- }
- }
复制代码
欢迎大家在本帖讨论,如有独特见解,请不吝赐教! |
|