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();
}
}
插入排序
最新推荐文章于 2023-09-23 17:47:53 发布