数据结构与算法:Java实现快速排序

原创 爱被打了一巴掌 2024-10-25 17:06 99阅读 0赞

快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字要小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。

以下是Java实现快速排序的示例代码:

  1. public class QuickSort {
  2. // 快速排序方法
  3. public void quickSort(int[] arr, int left, int right) {
  4. if (left < right) { // 如果还有元素未排序
  5. // 找到当前子数组的基准值(这里选择中间值)
  6. int pivotIndex = left + ((right - left) / 2);
  7. // 将基准值放在正确的位置
  8. swap(arr, pivotIndex, right);
  9. // 对基准左边和右边的子数组递归排序
  10. quickSort(arr, left, pivotIndex - 1);
  11. quickSort(arr, pivotIndex + 1, right);
  12. }
  13. }
  14. // 交换两个元素的位置
  15. private void swap(int[] arr, int index1, int index2) {
  16. int temp = arr[index1];
  17. arr[index1] = arr[index2];
  18. arr[index2] = temp;
  19. }
  20. // 主方法,调用快速排序方法对数组进行排序
  21. public static void main(String[] args) {
  22. int[] arr = {5, 3, 8, 4, 2};
  23. QuickSort quickSort = new QuickSort();
  24. quickSort.quickSort(arr, 0, arr.length - 1);
  25. // 打印排序后的数组
  26. for (int num : arr) {
  27. System.out.print(num + " ");
  28. }
  29. }
  30. }

这段代码首先定义了一个快速排序类,其中包含快速排序的方法、交换元素位置的方法以及主方法。

在主方法中,创建了一个整数数组并调用快速排序方法进行排序。最后打印出排序后的数组。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,99人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java数据结构算法--快速排序

    该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直