插入排序
来源:互联网 发布:天谕男玉虚捏脸数据图 编辑:程序博客网 时间:2024/06/05 15:25
插入排序
计算步骤
- 首先对数组的前两个数据进行从小到大排序。
- 接着将第三个数据与排好序的两个数据比较,将三个数据插入合适的位置。
- 然后,将第四个数据插入已排好序的前3个数据中。
- 不断重复上述过程,直到把最后一个数据插入合适的位置。最后,便完成了对原始数组从小到大的排序。
代码:
public class P4_3 { static final int SIZE = 10; public static void insertionSort(int[] a){ int i,j,t,h; for (i = 1; i < a.length; i++) { t=a[i]; j=i-1; while (j>=0 && t<a[j]){ a[j+1] = a[j]; j--; } a[j+1] = t; System.out.print("第"+i+"步排序结果"); for (int k = 0; k < a.length; k++) { System.out.print(" "+a[k]); } System.out.println(); } } public static void main(String[] args) { int[] shuzu = new int[SIZE]; for (int i = 0; i < SIZE; i++) { shuzu[i] = (int)(100 + Math.random()*(100+1)); } // System.out.println("排序前数组为:"); for (int i = 0; i < shuzu.length; i++) { System.out.print(" "+ shuzu[i]); } // System.out.println(); insertionSort(shuzu); System.out.println("排序后数组为:"); for (int i = 0; i < shuzu.length; i++) { System.out.print(" "+ shuzu[i]); } }}
结果
排序前数组为: 121 100 140 155 178 104 132 100 146 152第1步排序结果 100 121 140 155 178 104 132 100 146 152第2步排序结果 100 121 140 155 178 104 132 100 146 152第3步排序结果 100 121 140 155 178 104 132 100 146 152第4步排序结果 100 121 140 155 178 104 132 100 146 152第5步排序结果 100 104 121 140 155 178 132 100 146 152第6步排序结果 100 104 121 132 140 155 178 100 146 152第7步排序结果 100 100 104 121 132 140 155 178 146 152第8步排序结果 100 100 104 121 132 140 146 155 178 152第9步排序结果 100 100 104 121 132 140 146 152 155 178排序后数组为: 100 100 104 121 132 140 146 152 155 178Process finished with exit code 0
阅读全文
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 《Java数据结构和算法》第二版 Robert lafore 编程作业 第二章
- 鼠标右键 添加可执行jar
- javax.script详解
- mysql 用hfile写入到hbase报错
- python 画中国地图环境搭建(basemap)
- 插入排序
- 标准 IO 库的缓冲区
- HTTP POST GET 本质区别详解
- springboot提示No identifier specified for entity
- 12.11学习心得
- 91. Decode Ways
- 结构体的存储分配问题
- 机器学习笔记(V)线性模型(I)一维最小二乘法
- 关于c++和C的getXXX系列函数