<span style="font-size:24px;"></span>
import java.util.Scanner;public class sortMethods { public static void main(String[] args) { System.out.print("请输入需要排序的整数的个数:"); Scanner keyIn = new Scanner(System.in); int n = keyIn.nextInt(); int []arr = new int[n]; for(int i=0;i<n;i++){ System.out.print("arr["+i+"]="); arr[i] = keyIn.nextInt(); } System.out.println("排序前的序列:"); for(int arr1:arr){ System.out.print(arr1+" "); } System.out.println(); new sortMethods().bubbleSort(arr); new sortMethods().insertSort(arr); new sortMethods().selectedSort(arr); new sortMethods().shellSort(arr); } public void bubbleSort(int[]arr){ for(int i=0;i<arr.length;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } System.out.println("冒泡排序后的序列:"); for (int arr1:arr){ System.out.print(arr1+" "); } System.out.println(); } public void insertSort(int []arr){ for(int i=0;i<arr.length;i++){ for(int j=i;j>0;j--){ if(arr[j]<arr[j-1]){ int temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; } } } System.out.println("插入排序后的序列:"); for (int arr1:arr){ System.out.print(arr1+" "); } System.out.println(); } public void selectedSort(int [] arr){ for(int i=0;i<arr.length;i++){ int min = i; for(int j=i+1;j<arr.length;j++){ if(arr[j]<arr[min]){ min = j; } } int temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } System.out.println("选择排序后的序列:"); for(int arr1:arr){ System.out.print(arr1+" "); } System.out.println(); } public void shellSort(int []arr){ System.out.println("希尔排序后的序列:"); for(int increment = arr.length/2;increment > 0;increment /= 2){ for(int i = increment; i < arr.length;i++){ int temp = arr[i]; int j = 0; for(j = i;j >= increment;j -= increment){ if(temp < arr[j - increment]){ arr[j] = arr[j - increment]; }else{ break; } } arr[j] = temp; } } for(int arr1 : arr){ System.out.print(arr1+" "); } } }
各种排序方法java实现
最新推荐文章于 2024-05-02 20:50:22 发布