插入排序的java实现
2016-03-05 11:42
387 查看
引入:插入排序是编程中常见的排序方式,它的原理类似于大家打扑克牌码牌的过程,适用于对较少元素的排序。
算法描述:
INSERTION-SORT(A)
for i = 2 to A.length
key = A[i]
i = j - 1
while i > 0 and a[i] > key
a[i+1] = a[i]
i = i - 1
A[i + 1] = key
java实现:
算法描述:
INSERTION-SORT(A)
for i = 2 to A.length
key = A[i]
i = j - 1
while i > 0 and a[i] > key
a[i+1] = a[i]
i = i - 1
A[i + 1] = key
java实现:
package sort; import java.util.Arrays; import java.util.Random; public class InsertSortDemo { // 插入排序算法 static void insertSort(int[] arr) { for (int i = 1; i < arr .length ; i ++) { int key = arr [i ]; // 保存当前循环下要插入的值 int j = i - 1; // 从前面已被排序好的最后一个元素开始,寻找arr[i]的合适位置 while (j >= 0 && arr[j] > key) { arr[ j + 1] = arr[ j]; // 将当前比较的元素往后移一个位置 j--; } arr[ j + 1] = key; // 将arr[i]放入正确的位置 } } public static void main(String[] args) { int[] test = new int[10]; Random random = new Random(); for (int i = 0; i < test .length ; i ++) { // 数组赋值 test[ i] = random.nextInt(100); } System. out.println(Arrays.toString( test)); insertSort(test); // 排序 System. out.println(Arrays.toString( test)); } }
相关文章推荐
- eclipse 调整注释文字大小
- 上机题目(初级)- 滚雪球(Java)
- Eclipse修改编码格式
- 出现java.util.concurrent.RejectedExecutionException或者Thread pool exhausted怎么办?
- Java中String类的特点以及常用的方法
- java 单例与序列化
- eclipse 显示行数
- java学习书籍推荐
- javaweb入门20160305---xml的解析入门
- Did not find handler method for springMVC资源文件扫描不到---关于spring的那些坑
- IT十八掌作业_java基础第四天_复习运算符、进制转化和数组
- eclipse 安装 svn 插件
- java Log
- leetcode:Palindrome Number 【Java】
- java并发编程(2)--volatile(转)
- Javaweb中的监听器
- 使用Eclipse自带Web Service插件(Axis1.4)生成Web Service服务端/客户端
- 使用Eclipse自带的Axis1插件生成WSDL文件
- IDEA15使用maven编译scala和java
- Java中生成随机数