记录自已学习之排序算法(冒泡排序)

冒泡排序可是从我开始学编程时候就最早接触的排序算法,但是由于大一的时候我没有好好地学好C语言,我永远只知道书本上的程序,却不知道C语言是一门大学问。所以那个时候没有好好学,现在要重新出发再次接触冒泡排序。我一直认为冒泡排序就是想泡泡那样从下往上就是越来越大,也就是有小到大。所以程序中我也是这样写的,冒泡排序的原理:设计两个循环,第一个循环就是控制排序的那个数(我感觉不是控制排序的数,而是控制一个值),也就是控制它从第几个值开始作为对比。第二个循环就是控制对比的次数,因为第一个循环正在往后面走,所以第二个循环的次数跟第一个循环有关。其实说白了也就是外循环进行了一次之后,有一个最小(最大)的值已经放到了数组的最后面。(在写这篇博文的时候我明白了冒泡排序原来就是从下往上排的,所以像泡泡,因为它是从最后一个开始完成它的位置,直到最上面的那一个完成,我明白了不关是从小到大,还是从大到小的原因,哈哈,写博文还是有用的)

#include <stdio.h>


#define MAX_ARRAY 8


int main(void)
{
int array[MAX_ARRAY] = {5, 8, 6, 1, 3, 9, 2, 0};
int i, j, temp;
for (i = 0; i < MAX_ARRAY; i++)
{
for (j = 0; j < MAX_ARRAY - 1 - i; j++)
{
if (array[j] < array[j + 1])
{
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}

for (i = 0; i < MAX_ARRAY; i++)
{
printf("array[%d] = %d\n", i + 1, array[i]);
}
return 0;
}



最后还是要提醒一下大家,最好是自已对着程序的思路画一下图来对比一下,这样是很好的理解冒泡排序究竟是这样的进行冒泡的,在写这篇博文的时候我还是不明白为什么叫冒泡排序,正在写这篇博文的时候忽然就懂了,希望大家还是要好好学习,别像我一样。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值