当前位置: 首页 > news >正文

郑州建设网站定制怎么选择无锡网站建设

郑州建设网站定制,怎么选择无锡网站建设,网站终端制作,江阴网站开发公司电话快速排序(Quicksort)是一种基于分治思想的排序算法。它通过选择一个基准元素,将数组分为两个子数组,其中一个子数组的所有元素都小于基准元素,另一个子数组的所有元素都大于基准元素,然后递归地对这两个子数…

        快速排序(Quicksort)是一种基于分治思想的排序算法。它通过选择一个基准元素,将数组分为两个子数组,其中一个子数组的所有元素都小于基准元素,另一个子数组的所有元素都大于基准元素,然后递归地对这两个子数组进行排序。

具体步骤如下:

  1. 选择一个基准元素,通常选择数组中的第一个元素。
  2. 将数组分为两个子数组,一个是小于基准元素的子数组,一个是大于基准元素的子数组。可以使用两个指针分别从数组的两端开始,然后向中间遍历,当两个指针相遇时停止,并交换相遇位置的元素。
  3. 递归地对两个子数组进行步骤1和步骤2的操作,直到子数组的长度为1或者为空。
  4. 合并排序好的子数组,此时整个数组已经有序。

        快速排序的时间复杂度为O(nlogn),其中n是数组的长度。最坏情况下的时间复杂度为O(n^2),但是通过合理地选择基准元素,可以避免最坏情况的发生。快速排序是一种原地排序算法,不需要额外的空间。

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

public class QuickSort {public static void main(String[] args) {int[] arr = {5, 8, 2, 1, 6, 3, 9, 4, 7};quickSort(arr, 0, arr.length - 1);System.out.println("排序结果:");for (int num : arr) {System.out.print(num + " ");}}public static void quickSort(int[] arr, int low, int high) {if (low < high) {int pivotIndex = partition(arr, low, high);quickSort(arr, low, pivotIndex - 1);quickSort(arr, pivotIndex + 1, high);}}public static int partition(int[] arr, int low, int high) {int pivot = arr[low];while (low < high) {while (low < high && arr[high] >= pivot) {high--;}arr[low] = arr[high];while (low < high && arr[low] <= pivot) {low++;}arr[high] = arr[low];}arr[low] = pivot;return low;}
}

        代码的思路是采用了分治法的思想。首先选择一个基准元素,通常是数组的第一个元素。然后将数组分为两部分,一部分是小于等于基准元素的元素,一部分是大于基准元素的元素。接着对这两部分分别进行快速排序,直到每个部分只剩下一个元素或者没有元素。

        在quickSort方法中,首先判断low是否小于high,如果是的话,调用partition方法划分数组,并在基准元素的位置将数组分为两部分,然后再分别对这两部分进行快速排序。

  partition方法使用两个指针lowhigh,分别从数组两端开始向中间移动。在移动过程中,如果遇到比基准元素小的元素,则将其放到左边,否则将其放到右边。最后将基准元素放到合适的位置,并返回该位置的索引。

        以上代码可以按照快速排序的思想对给定的数组进行排序。

输出结果为:1 2 3 4 5 6 7 8 9。

http://www.yayakq.cn/news/796465/

相关文章:

  • 网站做视频怎么赚钱的网上网站开发
  • 保障房建设网站首页网站备案为什么要关闭
  • 站长工具在线查询昆明网站建设搭建
  • 织梦 网站模板四川成都网站优化
  • 内部建设网站需要什么条件高端交易所开发
  • 做网站在哪接广告常州金坛网站建设
  • 菜单设计制作网站域名备案查询工信部
  • 网站建设的市场定位分析湛江做网站公司
  • 做网贷中介网站赚钱吗asp.net做三个网站
  • 怎么用html做图片展示网站热门网站建设加盟平台
  • 织梦的手机端网站模板下载项目建设内容及规模怎么写
  • 如何做配送网站北京城乡住房建设部网站
  • 外贸网站做纸尿裤怎么样基于5G的网站设计
  • 济南市公众号网站建设肥城市住房和城乡建设厅网站
  • 重庆网站建设哪家便宜张家界seo优化
  • 怎么样做一个自己的网站沈阳网站建设 龙兴科技
  • 一般做哪些外贸网站企业咨询公司有哪些
  • 湖北皇奥建设工程有限公司网站开封旅游网站建设项目方案
  • 抖音做我女朋友好不好网站企业qq一年多少费用
  • 做服装哪个网站图片多网站建设需求调研
  • 杭州网站建设派迪网络创app开发 杭州app开发公司
  • 四川建设厅证网站是公司已经有域名 怎么建网站
  • 砀山县住房和城乡建设局网站暴雪娱乐
  • 荆州网站开发html指什么
  • 哪里有服务好的深圳网站建设青岛制作网站的
  • 建站城江门网络培训学院
  • 抄袭网站模板简洁轻便的wordpress主题
  • 网站开发找谁百度app常用网址在哪里
  • 做手机网站和pc如何做同一个阿里云可以做两个网站吗
  • 海外网站服务器下载全自动网站制作系统