Java排序算法——直接插入排序
来源:互联网 发布:淘宝香港发货是真的吗 编辑:程序博客网 时间:2024/06/14 00:56
直接插入排序
基本原理:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无需表中包含n-1个元素,排序过程中每次从无序表中取出第一个元素,与有序表中元素依次比较,将它插入到有序表中的适当位置,使之成为新的有序表,则有序表扩展为2个元素,无序表为n-2个元素,不断进行上述操作
时间效率:最坏情况为
空间效率:
算法稳定性:稳定
//直接插入排序(从小到大)public class Sort_shell { private void shellSort(int nums[]){ int length = nums.length; int left =0;//左指针 for(int i = 1;i<length;i++){ boolean flag = false;//标记是否需要插入 for(int j = 0;j<i;j++){ if(nums[i]<nums[j]){ left = j; flag =true; break; } } //判断是否需要插入 if(flag){ int temp = nums[i];//存储插入元素值 //移动插入位置索引后的数组元素 for(int k = i;k>left;k--){ nums[k]= nums[k-1]; } nums[left] =temp;//更新插入位置索引的元素 } } System.out.println(java.util.Arrays.toString(nums)); } //测试主函数 public static void main(String[] args) { int nums[]={89,54,78,82,398,7,560,25,963,16}; Sort_shell test = new Sort_shell(); test.shellSort(nums);// System.out.println(java.util.Arrays.toString(nums)); }}
阅读全文
0 0
- 算法—直接插入排序
- Java排序算法——直接插入排序
- 排序算法——直接插入排序
- 排序算法——直接插入排序
- 排序算法——直接插入排序
- 排序算法—插入排序之直接插入排序
- Java排序算法总结之(一)——插入排序(直接插入排序、折半插入排序、希尔排序)
- 排序算法Java——插入排序(直接插入排序)
- Java算法 直接插入排序
- java 直接插入排序算法
- Java直接插入排序算法
- java算法【直接插入排序】
- Java直接插入排序算法
- 排序算法——插入排序(直接插入排序、折半插入排序、希尔排序)
- java排序算法之直接插入排序
- 排序算法之直接插入排序(JAVA)
- Java算法排序之--直接插入排序
- 算法:排序----直接插入排序(Java)
- HDU3555[Bomb]--数位DP
- web前端十日谈-笔记
- 二分图的判定
- Laravel-学习笔记-视图(View)
- I/O复用模型
- Java排序算法——直接插入排序
- Java——jdk1.5生产者消费者问题优化
- Linux 系统监控、诊断工具之 IO wait
- 快速排序算法
- 关于TLS经验小结(中)
- 关于RedHat本地源的配置
- 洛谷 P2341 [HAOI2006]受欢迎的牛
- 更优秀的Java代码-技巧篇1
- 判断点在直线的左右那一侧