算法学习与代码实现4——冒泡排序
来源:互联网 发布:邢台犀牛软件培训班 编辑:程序博客网 时间:2024/05/21 10:33
算法学习与代码实现4——冒泡排序
这篇博客讲最简单的一个排序算法,也是我生命中接触的第一个排序算法。
算法思路
想当年读大一的时候学习C语言,冒泡排序是C语言课上讲的第一个排序算法,可能也是唯一一个。
思路很有趣,为了确保序列从小到大排列,从最后两个数开始,依次比较相邻的两个数,如果需要交换,就将两个数进行交换。这种比较依次向前,直到前面的数都已经是排好序的数为止。这样一趟一趟的进行比较,每一趟都将最小的数“挤”到最前面。
算法性能
稳定性:稳定排序
时间复杂度: O(n^2)
空间复杂度: O(1)
伪代码
BUBBLESORT(A)for i <- 1 to length[A] do for j <- length[A] downto i + 1 do if A[j] < A[j - 1] then exchange A[j] <-> A[j-1]
算法思路很很简单,就是把小的往前挤。
c语言实现
void bubble_sort(int *array, int size){ int tmp; for ( int i = 0; i < size; i++ ) { for ( int j = size - 1; j > i; --j ) { if ( array[j] < array[j-1] ) { tmp = array[j]; array[j] = array[j-1]; array[j-1] = tmp; } } }}
本文代码托管于:
https://github.com/haoranzeus/algorithms_study
0 0
- 算法学习与代码实现4——冒泡排序
- 排序算法—冒泡排序算法分析与实现(Python)
- 【数据结构与算法】【排序】冒泡排序的代码实现
- 算法学习与代码实现2——插入排序
- 算法学习与代码实现3——合并排序
- 算法学习与代码实现5——堆排序
- 算法学习与代码实现6——快速排序
- 冒泡排序算法分析与三种代码实现
- 数据结构与算法学习——冒泡排序
- 算法学习之排序算法的C++实现——冒泡排序
- 常用算法-冒泡排序代码实现
- 经典算法学习——冒泡排序
- 学习算法导论——冒泡排序
- 算法学习(二)——冒泡排序
- 数据结构与算法——冒泡排序
- C#算法学习总结—冒泡排序
- 排序算法——java实现(1):冒泡排序算法
- 八大排序算法及完整c代码—冒泡排序
- 写Json
- 完美洗牌算法(2013年UC校招笔试、2016阿里实习生笔试)
- JSP_HelloWorld
- 国家体育总局 中国全国体育总会文件
- 常量那些事儿
- 算法学习与代码实现4——冒泡排序
- HDU1242 BFS+优先队列
- 设计模式—工厂方法模式
- 写xml文件
- WIN8修改hosts
- File复制图片
- 电机行业被称为机器人领域的明珠,相当于行业的心脏
- codeforces 676C Vasya and String 前缀数组+二分查找
- 大数据组hadoop集群启动