展会信息港展会大全

插入排序算法的二种java实现 android开发教程
来源:互联网   发布日期:2016-01-19 12:26:03   浏览:1743次  

导读:二话不说直接上代码。原理与打牌排牌是一样的。代码都有注释。package com stone test;public class Sort { ** 插入排序1 * public static void insertionSort1(int[] keys) { 数组个数int len ...

二话不说直接上代码。原理与打牌排牌是一样的。代码都有注释。

package com.stone.test;

public class Sort {

/** 插入排序1 */

public static void insertionSort1(int[] keys) {

// 数组个数

int len = keys.length;

//

if (len < 1)

return;

// 遍历keys

for (int i = 1; i < len; i++) {

// 获得第二个数据

int key = keys[i];

// 与先前排序好的数据比较

for (int j = 0; j < i; j++) {

int order = keys[j];

// 如果大于以排序的个值

if (order > key) {

// 位置后移一个

for (int k = i; k > j; --k) {

//

keys[k] = keys[k - 1];

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

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

}

// 插入位置

keys[j] = key;

// 退出与排序好的数据的比较

break;

}

}

}

}

/** 插入排序2 */

public static void insertionSort2(int[] keys) {

//

// 数组个数

int len = keys.length;

//

if (len < 1)

return;

// 遍历keys

for (int i = 1; i < len; i++) {

//

int key=keys[i];

//当前位置

int pos=i;

//如果右边小于左边的值才要移动

while(pos>0&&key<keys[pos-1]){

//向前移动一位

keys[pos]=keys[pos-1];

pos--;

}

//插入

keys[pos]=key;//如果比排序好最大的还大就直接插入。

}

}

public static void main(String[] args) {

//

int[] a = new int[] { 1,-1, 100,2,77,99, 4, 3, 6, 9, 8 };

insertionSort2(a);

for (int i = 0; i < a.length; i++) {

System.out.println(i + ":" + a[i]);

}

}

}

赞助本站

人工智能实验室

相关热词: 排序算法 java android开发

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港