冒泡排序,每次循环选出一个最大/最小的数在队伍的末端,循环n-1次
1 # include <stdio.h> 2 3 int main (void) 4 { 5 int a[10]; 6 int i, j, t; 7 8 printf("请输入10个整数:"); 9 10 for (i=0; i<10; i++) 11 scanf("%d", &a[i]); 12 13 for (i=0; i<9; ++i) 14 { 15 for(j=0; j<9-i; j++) // 后面位置的数据已选择 16 { if (a[j]>a[j+1]) 17 { t = a[j]; 18 a[j] = a[j+1]; 19 a[j+1] = t; //每两个相邻数比较大小,选择出最大的 20 } 21 } 22 } 23 24 for (i=0; i<10; i++) 25 printf("%d ", a[i]); 26 27 printf("\n"); 28 29 return 0; 30 }
选择排序,每次循环实现对相应位置的选数过程,循环n-1次
1 # include <stdio.h> 2 3 int main(void) 4 { 5 int a[10]; 6 int i, j, t; 7 8 printf("请输入10个整数:"); 9 10 for (i=0; i<10; i++) 11 scanf("%d", &a[i]); 12 13 for(i=0; i<9; i++) 14 { for (j=i+1; j<10; j++) //与其余位置的数据依次进行比较 15 { 16 if(a[i]>a[j]) 17 { 18 t = a[i]; 19 a[i] = a[j]; 20 a[j] = t; 21 } 22 } 23 } // a[i]代表位置 24 25 for (i=0; i<10; i++) 26 printf("%d ", a[i]); 27 28 printf("\n"); 29 30 return 0; 31 }
查看程序运行过程中的区别,涉及到单步调试问题
step into:进入子函数内部
step over:越过子函数,但子函数会执行,只显示子函数运行结果
step out:进入到子函数中之后用此命令来跳出子函数