直接插入排序
2015-01-29 11:47
190 查看
package sort;
public class InsertSortTest {
public static int count = 0;
public static void main(String[] args) {
int[] data = new int[] { 5, 3, 6, 2, 1, 9, 4, 8, 7 };
print(data);
insertSort(data);
print(data);
}
算法过程:
public static void insertSort(int[] data) {
for (int i = 1; i < data.length; i++) {
// 缓存i处的元素值
int tmp = data[i];
if (data[i] < data[i - 1]) {
int j = i - 1;
// 整体后移一格
while (j >= 0 && data[j] > tmp) {
data[j + 1] = data[j];
j--;
}
// 最后将tmp插入合适的位置
data[j + 1] = tmp;
print(data);
}
}
}
public static void print(int[] data) {
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + "\t");
}
System.out.println();
}
}
public class InsertSortTest {
public static int count = 0;
public static void main(String[] args) {
int[] data = new int[] { 5, 3, 6, 2, 1, 9, 4, 8, 7 };
print(data);
insertSort(data);
print(data);
}
算法过程:
public static void insertSort(int[] data) {
for (int i = 1; i < data.length; i++) {
// 缓存i处的元素值
int tmp = data[i];
if (data[i] < data[i - 1]) {
int j = i - 1;
// 整体后移一格
while (j >= 0 && data[j] > tmp) {
data[j + 1] = data[j];
j--;
}
// 最后将tmp插入合适的位置
data[j + 1] = tmp;
print(data);
}
}
}
public static void print(int[] data) {
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + "\t");
}
System.out.println();
}
}
相关文章推荐
- 直接插入排序
- 排序一:插入排序(直接插入排序)
- 选择排序,冒泡排序,直接插入排序
- 用JAVA实现排序算法之二:直接插入排序
- 三种最简单的排序算法(直接插入排序、冒泡排序、简单选择排序)
- c++实现直接插入排序
- 排序(一)—直接插入排序+冒泡排序
- 直接插入排序java实现
- 算法六之直接插入排序
- 直接插入排序
- (2)直接插入排序
- 算法篇(一)直接插入排序与快速排序
- 插入排序之直接插入排序
- 数据结构之直接直接插入排序
- 直接插入排序:改进算法---2路插入排序
- Java实现直接插入排序
- Python排序——直接插入排序
- 算法之插入排序——直接插入排序
- 排序算法(直接插入排序)
- [排序算法,插入排序]--直接插入排序