插入排序(简单明了)
来源:互联网 发布:java线程是什么意思 编辑:程序博客网 时间:2024/06/14 01:49
class test{
static int a[]=new int[]{5,2,4,6,1,3};
public static void insertSort(int a[]){
System.out.print("开始 排序结果:");
int length=a.length; //数组长度
int j; //当前值的位置
int i; //指向j前的位置
int key; //当前要进行插入排序的值
for (int k : a) {
System.out.print(k+" ");
}
int m=1;
//从数组的第二个位置开始遍历值
for(j=1;j<length;j++){
key=a[j];
i=j-1;
//a[i]比当前值大时,a[i]后移一位,空出i的位置,好让下一次循环的值后移
while(i>=0 && a[i]>key){
a[i+1]=a[i]; //将a[i]值后移
i--; //i前移
}//跳出循环(找到要插入的中间位置或已遍历到0下标)
System.out.println(" ");
System.out.print("第"+m+"次后移结果:");
for (int k : a) {
System.out.print(k+" ");
}
a[i+1]=key; //将当前值插入
System.out.println(" ");
System.out.print("第"+m+"次排序结果:");
for (int k : a) {
System.out.print(k+" ");
}
m++;
}
System.out.println(" ");
System.out.print("最终结果:");
for (int k : a) {
System.out.print(k+" ");
}
}
public static void main(String[] args) {
insertSort(a);
}
}
- 插入排序(简单明了)
- 简单明了快速排序
- 简单明了之归并排序
- 简单明了之堆排序
- 快速排序法简单明了
- svn使用(简单明了)
- 简单明了
- 插入排序(折半插入)
- 插入排序(希尔排序、直接插入、折半插入排序)
- 数据结构-插入排序(直接插入排序+折半插入排序)
- 插入排序(简单插入&折半插入)
- 插入排序一(直接插入排序)
- 插入排序(普通插入 希尔排序)
- 算法---插入排序(直接插入排序)
- 内部排序之插入排序(直接插入排序,二分插入排序,希尔插入排序)
- 排序:插入排序(直接插入排序、Shell排序)
- 【排序】插入排序(直接插入排序、希尔排序)
- 【排序一】插入排序(直接插入排序&&希尔排序)
- 遍历Map的四种方法
- mysql 主键自动增长
- 学习Swift笔记 (六)
- js 拖拽效果(cookie)
- 做PAT时,循环语句里尽量少用指针
- 插入排序(简单明了)
- 7.14_E题
- 5.9 枚举类型
- sqlserver的表触发器和定时器
- Surciata源码分析之IpsNFQ模式(2)
- 阶乘之和
- cocos2d-x 3.1.1 学习笔记[11] http请求 + json解析
- linux下搭建SVN服务器完全手册
- 有关于dmx控制器的相关使用问题以及当中的特点