记得以前在大学里学习c语言的时候,刚开始是很吃力的.
入门级别的算法中有个叫冒泡排序法,也有称为气泡排序法.那时候刚接触它就对它的名字特别感兴趣,因为觉得很有意思.好了,废话不多说了,我们先一起简单回忆下这个冒泡排序法.
一.打印行和列一般是这样的一个简单代码,输出4行4列*:
for(int i = 1,i < 5,i++){
for(int j = 1,j < 5,j++){
printf("*");
}
printf("n\");
}
二.打印"上三角":
for(int i = 1,i < 5,i++){
for(int j = 1,j < i,j++){
printf("*");
}
printf("n\");
}
三.打印"下三角":
for(int i = 1,i < 5,i++){
for(int j = i,j < 5,j++){
printf("*");
}
printf("n\");
}
四.看官莫急,关键的地方等会就来了.冒泡排序其实就是一个"下三角"打印原理,因为在一个数组中排序每次都是从第一个元素开始和后面的元素比一轮,确定一个最值,最值就"沉"到最后一个了,每轮比较都会少一个数,所以冒泡排序原理就要用到打印"下三角原理了":
for (int i = 0; i < 4; i++) {
for (int j = i; j < 4; j++) {
if (nums[j] < nums[j+1]) {
i

本文回顾了C语言中的冒泡排序算法,通过打印行和列的代码作为铺垫,详细解释了冒泡排序的工作原理,并通过对比分析了初学者常遇到的陷阱。通过修正初始条件,解决了排序不正确的问题,强调了防止数组越界的重要性。
最低0.47元/天 解锁文章
1922

被折叠的 条评论
为什么被折叠?



