今天学习了冒泡排序,自己实践了一下,过程中有些小问题,但是后来对照视频一一都解决了,也附加了较详尽的注释,交流~
- #include <stdio.h>
- /**
- * 排序函数
- *
- * @param number 待排序数组
- * @param length 数组长度
- */
- void Sort(int number[],int length){
- int temp=0;
- //双重for循环是冒泡的核心
- for(int i=0;i<length-1;i++){
- for(int j=0;j<length-1-i;j++)
- {
- //注意里面用的循环控制变量是j不是i
- if(number[j]>number[j+1]){
- temp=number[j];
- number[j]=number[j+1];
- number[j+1]=temp;
- }
- }
- }
- }
- int main(int argc, const char * argv[]) {
- //定义数组
- int num[10];
- printf("请输入10个数字,系统将从大到小输出\n");
- //用户录入10个数字
- for(int i=0;i<10;i++){
- scanf("%d",&num[i]);
- }
- //调用排序函数
- Sort(num,10);
- //打印数组
- for(int i=0;i<10;i++){
- printf("%d\t",num[i]);
- }
- return 0;
- }
复制代码 |
|