JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

快速排序算法的Java实现,用于对整数数组进行排序

wys521 2024-11-28 08:56:44 精选教程 19 ℃ 0 评论
public class QuickSort {  public static void main(String[] args) {    int[] arr = {5, 2, 8, 3, 1, 6, 9, 4, 7};    quickSort(arr, 0, arr.length - 1);    System.out.println(Arrays.toString(arr));  }  public static void quickSort(int[] arr, int left, int right) {    if (left >= right) {      return;    }    int pivot = arr[(left + right) / 2];    int index = partition(arr, left, right, pivot);    quickSort(arr, left, index - 1);    quickSort(arr, index, right);  }  public static int partition(int[] arr, int left, int right, int pivot) {    while (left <= right) {      while (arr[left] < pivot) {        left++;      }      while (arr[right] > pivot) {        right--;      }      if (left <= right) {        swap(arr, left, right);        left++;        right--;      }    }    return left;  }  public static void swap(int[] arr, int i, int j) {    int temp = arr[i];    arr[i] = arr[j];    arr[j] = temp;  }}

这段代码使用了快速排序算法,它的时间复杂度为 O(nlogn)。在这个例子中,我们首先定义了一个整数数组 arr,然后传递给 quickSort 方法,它使用递归实现快速排序。在 partition 方法中,我们使用双指针技巧来比较和交换元素,直到左指针大于右指针为止。最后,我们使用 swap 方法来交换数组中的两个元素。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表