新博客开张,就拿排序算法开张吧。。。我尽量从最简单的排序算法开始,不定期连载更新中~
ps:在我学会JAVA和C++之前,程序都用C来写吧,水平有限,大家凑和着看吧 重点是算法!~
(图片来源于网络)
目录:
1.插入排序——直接插入排序。
2.插入排序——希尔排序。
3.选择排序——简单选择排序。
4.选择排序——堆排序。
5.交换排序——冒泡排序。
6.交换排序——快速排序(大力推荐使用)。
1.插入排序——直接插入排序。
具体算法描述如下:(个人认为很好理解)
- 从第一个元素开始,该元素可以认为已经被排序
- 取出下一个元素,在已经排序的元素序列中从后向前扫描
- 如果该元素(已排序)大于新元素,将该元素移到下一位置
- 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
- 将新元素插入到该位置后
- 重复步骤2~5
ps:可以采用二分查找法来减少比较操作的数目,称为二分查找插入排序法。
C语言代码如下:
时间: 2024-08-05 15:24:33