数据结构--插入排序
来源:互联网 发布:扫街软件 编辑:程序博客网 时间:2024/06/16 06:36
输入一个元素,检查数组列表中的每个元素,将其插入到一个已经排好序的数列中的适当位置,使数列依然有序,当最后一个元素放入合适位置时,该数组排序完毕。
public static void sort(long[] arr) { long tmp = 0; for (int i = 1; i < arr.length; i++) { tmp = arr[i]; int j = i; while (j > 0 && arr[j] >= tmp) { arr[j] = arr[j - 1]; j--; } arr[j] = tmp; }}
假设我们输入的是 “5,1,4,2,3” 我们从第二个数字开始,这个数字是1,我们的任务只要看看1有没有正确的位置,我们的做法是和这个数字左边的数字来比,因此我们比较1和5,1比5小,所以我们就交换1和5,原来的排列就变成了“1,5,4,2,3 ”接下来,我们看第3个数字有没有在正确的位置。这个数字是4,它的左边数字是5,4比5小,所以我们将4和5交换,排列变成了 “1,4,5,2,3 "我们必须继续看4有没有在正确的位置,4的左边是1,1比4小,4就维持不动了。再来看第四个数字,这个数字是2,我们将2和它左边的数字相比,都比2大,所以就将2一路往左移动,一直移到2的左边是1,这时候排序变成了 “1,2,4,5,3 ”最后,我们检查第五个数字,这个数字是3,3必须往左移,一直移到3的左边是2为止,所以我们的排列就变成了 “1,2,3,4,5 ”排序因此完成了。所谓插入排序法,就是检查第i个数字,如果在它的左边的数字比它大,进行交换,这个动作一直继续下去,直到这个数字的左边数字比它还要小,就可以停止了。插入排序法主要的回圈有两个变数:i和j,每一次执行这个回圈,就会将第i个数字放到左边恰当的位置去。
阅读全文
0 0
- 数据结构 排序 插入排序
- 【数据结构】:排序--插入排序
- 插入排序 --C数据结构
- {数据结构}直接插入排序
- 数据结构--直接插入排序
- 数据结构之 插入排序
- 数据结构-插入类型排序
- 【数据结构】直接插入排序
- 数据结构-插入排序算法
- 数据结构_插入排序
- java数据结构--插入排序
- 数据结构 - 插入排序
- C++数据结构--插入排序
- 数据结构--插入排序
- 基本数据结构 -- 插入排序
- 【数据结构】插入排序
- 数据结构 --- 插入排序
- 数据结构---直接插入排序
- pytorch新手需要注意的隐晦操作Tensor,max,gather
- JAVA面试精选
- React学习笔记-
- hibernate系列四:HQL查询(一)
- Python正则表达式中的常用符号
- 数据结构--插入排序
- 小麦子-WPF学习系列1:初识WPF
- 用typedef定义结构体
- Angular历险记(二):npm install卡顿问题记录
- Lua中string常用方法总结
- HTTP协议--转载
- java布局管理器
- virturlbox CENTOS6安装增强功能
- fluent python 读书笔记(第一章)