写一段推排序,java实现
时间: 2023-03-13 16:09:27 浏览: 62
答:以下是使用Java实现推排序的示例代码:public class PushSort { public static void main(String[] args) { // 创建一个数组,其中包含要排序的数字 int[] nums = {13, 10, 7, 8, 5, 3, 2, 1}; System.out.println("排序前的数组:"); printArray(nums); // 进行推排序操作 pushSort(nums); System.out.println("排序后的数组:"); printArray(nums); } // 打印数组 public static void printArray(int[] arr) { for (int num : arr) { System.out.print(num + " "); } System.out.println(); } // 推排序 public static void pushSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
}
相关问题
写一段排序算法,Java实现
好的,以下是一个快速排序算法的Java实现:
public static void quickSort(int[] arr, int left, int right) {
if (left < right) {
int pivot = partition(arr, left, right);
quickSort(arr, left, pivot - 1);
quickSort(arr, pivot + 1, right);
}
}
private static int partition(int[] arr, int left, int right) {
int pivot = arr[right];
int i = left - 1;
for (int j = left; j < right; j++) {
if (arr[j] < pivot) {
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[i + 1];
arr[i + 1] = arr[right];
arr[right] = temp;
return i + 1;
}
写一段Java代码 实现希尔排序
public class ShellSort {
public static void sort(int[] arr) {
int n = arr.length;
for (int gap = n/2; gap > 0; gap /= 2) {
for (int i = gap; i < n; i += 1) {
int temp = arr[i];
int j;
for (j = i; j >= gap && arr[j - gap] > temp; j -= gap)
arr[j] = arr[j - gap];
arr[j] = temp;
}
}
}
public static void main(String args[]) {
int arr[] = {12, 34, 54, 2, 3};
System.out.println("排序前");
for (int i=0; i<arr.length; ++i)
System.out.print(arr[i] + " ");
sort(arr);
System.out.println("\n排序后");
for (int i=0; i<arr.length; ++i)
System.out.print(arr[i] + " ");
}
}