java排序插入
A. java插入排序
Java程序入口是main函数,
而main函数的参数必须是String[] args;
所以你要把函数名mian改成其他如sort,并新写一个main函数来调用他。
public static void main(String[] args){
}
B. JAVA实现插入排序
public class Test {
public static void main(String[] args) {
int[] source = { 1, 3, 2, 5, 12, 3, 123, 23, 2, 541, 1, 76, 76 };
Test test = new Test();
test.printArray(source);
test.insertSort(source);
test.printArray(source);
}
public void insertSort(int[] source) {
for (int i = 1; i < source.length; i++) {
for (int j = i; (j > 0) && (source[j] < source[j - 1]); j--) {
swap(source, j, j - 1);
}
}
printArray(source);// 输出插入排序后的数组值
}
private void swap(int[] source, int x, int y) {
int temp = source[x];
source[x] = source[y];
source[y] = temp;
}
public void printArray(int[] source) {
for (int i : source) {
System.out.print(i + " ");
}
System.out.println();
}
}
C. JAVA一个已经排好序的数组(元素为10个),插入一个数按照原来的排序
1、数组插入新数据,首先需要扩容,java中数组需要使用数组的扩容方式:arr = Arrays.Of(arr, arr.length+1);
或者,//已有 int [] num ;
num = new int[num.length+1];重新定义数组,之后按顺序遍历插入,或者插入以后再排序也是可以的。
D. JAVA 字母排序,并插入字母后再次排序
//数组方式
String[]arr={"c","d","b","a"};
java.util.Arrays.sort(arr);
System.out.println(java.util.Arrays.toString(arr));//输出数组
//使用TreeSet排序
TreeSet<String>ts=newTreeSet<String>();
ts.add("c");
ts.add("a");
ts.add("b");
System.out.println(ts);//输出排序后的
//PS:因为TreeSet存在自然排序,所以不必实现Comparator还有Comparable接口