package sort;
public class InsertionSortApp { // 插入排序
public static void main(String[] args) {
InsertionSort arr = new InsertionSort(20);
arr.insert(23);
arr.insert(13);
arr.insert(33);
arr.insert(43);
arr.insert(63);
arr.insert(35);
arr.insert(45);
arr.insert(67);
arr.insert(89);
arr.insert(123);
arr.insert(90);
arr.insert(76);
arr.insert(12);
arr.display(); // 显示未排序前的
arr.insertionSort(); // 调用排序
arr.display();// 显示排序后的内容
}
}
class InsertionSort {
int max = 100;
int[] a = new int[max];
int nElems = 0;
InsertionSort(int max) {
a = new int[max];
nElems = 0;
}
void display() {
for (int i = 0; i < nElems; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
void insert(int value) {
a[nElems] = value;
nElems++;
}
void insertionSort() {
int in, out;
for (out = 1; out < nElems; out++) {
int temp = a[out];
in = out;
while(in > 0 && a[in-1] >= temp) {
a[in] = a[in-1];
in--;
}
a[in] = temp;
}
}
}
运行结果:
23 13 33 43 63 35 45 67 89 123 90 76 12
12 13 23 33 35 43 45 63 67 76 89 90 123
插入排序(Java版)
猜你喜欢
转载自blog.csdn.net/A_bad_horse/article/details/104833670
今日推荐
周排行