网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
int sort(int array[], int n);
int num[5] = {0};
int i = 0;
/* 接收用户输入的5个整型数 */
printf("please input 5 integer numbers: \n");
for (i = 0; i < 5; i++)
{
scanf("%d", &num[i]);
}
/* 使用冒泡排序对数组num从小到大进行排序 */
i = sort(num, 5);
/* 打印排序后的数字顺序 */
printf("the sorted numbers: \n");
for (i = 0; i < 5; i++)
{
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
/*
-
冒泡排序法的函数定义
-
数组array存放待排序数字
-
n表示数组array大小
*/
int sort(int array[], int n)
{
int i;
int j;
int tmp;/* n个数字进行排序,共需要进行n-1轮比较 /
for (i = n - 1; i > 0; i–)
{
/ 每次循环将最大的元素冒泡至数组尾部 */
for (j = 0; j < i; j++)
{
if (array[j] > array[j + 1])
{
tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}return 0;
}
上述代码运行结果如下:
please input 5 integer numbers:
22 -21 0 89 100
the sorted numbers:
-21 0 22 89 100
说明:在外层循环中,为变量 i 赋初始值“**n - 1**”,可以更好地对应假想墙的初始位置(**数字列表最右侧**)。同时,通过 i 的**自减**操作,使假想墙的位置**从右向左**移动。
![img](https://img-blog.csdnimg.cn/img_convert/28fe3ccd2057b4f15291209136276ef7.png)
![img](https://img-blog.csdnimg.cn/img_convert/f34cd4dad8bf517776cf7dc23533a132.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**