(学习路径http://blog.csdn.NET/lanouluanbin/article/details/53518018)
10冒泡排序
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
/*
12 34 21 19 29
第一趟:
第一次:12 34 21 19 29
第二次:12 21 34 19 29
第三次:12 21 19 34 29
第四次:12 21 19 29 34
第二趟:
第一次:12 21 19 29 34
第二次:12 19 21 29 34
第三次:12 19 21 29 34
第三趟:
第一次:12 19 21 29 34
第二次:12 19 21 29 34
第四趟:
第一次:12 19 21 29 34
5个数字 比较了4趟 比较次数递减
*/
int numbers[5] = {11,9,28,54,7};
for (int i = 0; i<5-1; i++) {
for (int j = 0; j<5-i-1; j++) {
//比较两个数字,并且把大那个放到后面
if (numbers[j]>numbers[j+1]) {
//交换位置
int temp = numbers[j];//temp = 11
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
//遍历数组查看结果
for (int i = 0; i<5; i++) {
printf("%d ",numbers[i]);
}
//快速练习
int ages[5] = {18,17,21,29,9};
//框架写好
for (int i = 0; i<5-1; i++) {
for (int j = 0; j<5-i-1; j++) {
if (ages[j]>ages[j+1]) {
int temp = ages[j];
ages[j] = ages[j+1];
ages[j+1] = temp;
}
}
}
for (int i = 0; i<5; i++) {
printf("%d ",ages[i]);
}
return 0;
}