记录自已学习之排序算法(冒泡排序)
来源:互联网 发布:表白二维码生成器软件 编辑:程序博客网 时间:2024/06/07 13:58
冒泡排序可是从我开始学编程时候就最早接触的排序算法,但是由于大一的时候我没有好好地学好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;
}
最后还是要提醒一下大家,最好是自已对着程序的思路画一下图来对比一下,这样是很好的理解冒泡排序究竟是这样的进行冒泡的,在写这篇博文的时候我还是不明白为什么叫冒泡排序,正在写这篇博文的时候忽然就懂了,希望大家还是要好好学习,别像我一样。
- 记录自已学习之排序算法(冒泡排序)
- 记录自已学习之排序算法(快速排序)
- 记录自已学习之排序算法(选择排序)
- 算法学习之排序算法:冒泡排序
- 算法学习之冒泡排序
- 学习算法之冒泡排序
- 经典算法学习:排序之冒泡排序
- 算法学习之排序(2)--冒泡排序
- [学习笔记]排序算法之冒泡排序
- 算法学习之排序:冒泡算法
- 算法学习笔记之冒泡排序算法
- 排序算法学习-冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 【排序算法】之冒泡排序
- 排序算法之冒泡排序
- 排序算法之冒泡排序
- 图像的矩特征
- NumPy 数学函数
- vue初始化篇
- Python-排序用法-sort、sorted、reverse、reversed
- 蓝桥杯 分巧克力
- 记录自已学习之排序算法(冒泡排序)
- PAT 乙等 1010 C语言
- 怪物跟踪玩家
- linux centos7 安装MQTT mosquitto时常见异常及解决办法
- view 时间轴
- Java面向对象设计模式(二)——抽象工厂模式
- Java 征途:行者的地图
- 【工作点滴】——thumbnailator实现图片的压缩和裁切
- java 压缩