您的位置:首页 > 其它

插入排序

2015-07-29 00:16 399 查看
import java.math.* ;
import java.util.* ;

/**
* 插入排序
*/
public class Test{
public static void main(String[] args) {
System.out.println("insert sort");
int[] arr = getRandomArr();
insertSort(arr);
insertSort2(getRandomArr());
}

public static void insertSort(int[] arr){
println(arr);
int j = 0 , k = 0 ;
for (int i = 1 ; i < arr.length ; i++ ){

for (j = i - 1; j >= 0 ; j--){
if (arr[i] > arr[j]){
break;
}
}
if(j != i-1){

int temp = arr[i] ;
for (k = i-1 ; k > j ; k-- ){
arr[k+1] = arr[k] ;
}
arr[k+1] = temp ;
}
}
println(arr);
println();
}

public static void insertSort2(int[] arr){
println(arr);
int j =0 ;
for (int i = 1; i < arr.length ; i++){

if(arr[i-1]>arr[i]){
int temp = arr[i] ;
for ( j = i-1 ; j >= 0 && arr[j] > temp; j-- ){
arr[j+1] = arr[j] ;
}
arr[j+1] = temp;
}
}
println(arr);
}

private static int[] getRandomArr(){
int arr[] = new int[10] ;
for (int i = 0; i < arr.length ; i++ ){
arr[i] = new Random().nextInt();
}
return arr ;
}

private static void println(int[] arr){
for (int i = 0; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
}

private static void print(String string){
System.out.print(string);
}
private static void println(){
System.out.println();
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: