本文实例讲述了Java实现插入排序的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import java.util.Arrays;
/**
* 算法名称: 插入排序
* 最佳效率O(n);最糟效率O(n²)与冒泡、选择相同,适用于排序小列表
* 若列表基本有序,则插入排序比冒泡、选择更有效率。
* @author L.Eric
*
*/
public class insertionSorting {
public static void main(String[] args) {
//定义一个整型数组
int [] nums = new int []{ 4 , 3 ,- 1 , 9 , 2 , 1 , 8 , 0 , 6 };
//打印没有进行排序的数组
System.out.println( "没有排序之前的结果:" + Arrays.toString(nums));
for ( int index= 0 ; index<nums.length; index++) {
//获得需要插入的数值
int key = nums[index];
//取得下标值
int position = index;
//循环比较之前排序好的数据,找到合适的地方插入
while (position > 0 && nums[position- 1 ] > key) {
nums[position] = nums[position- 1 ];
position--;
}
nums[position] = key;
}
//打印排序后的结果
System.out.println( "排序后的结果:" + Arrays.toString(nums));
}
}
|
希望本文所述对大家的java程序设计有所帮助。