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

家庭做网站logo在线设计生成器小程序

家庭做网站,logo在线设计生成器小程序,网站名字大全,免费搭建平台网站排序算法-快速排序法(QuickSort) 1、说明 快速排序法是由C.A.R.Hoare提出来的。快速排序法又称分割交换排序法,是目前公认的最佳排序法,也是使用分而治之(Divide and Conquer)的方式,会先在数…

 排序算法-快速排序法(QuickSort)

1、说明

快速排序法是由C.A.R.Hoare提出来的。快速排序法又称分割交换排序法,是目前公认的最佳排序法,也是使用分而治之(Divide and Conquer)的方式,会先在数据中找到一个虚拟的中间值,并按此中间值将所有打算排序的数据分为两部分。其中小于中间值的数据放在左边,而大于中间值的数据放在右边,再以同样的方式分别处理左右两边的数据,直到排序完为止。操作与分割步骤如下:

假设有n项记录R_{1},R_{2},R_{3},...,R_{n},其键值为K_{1},K_{2},K_{3},...,K_{n}

  1. 先假设K的值为第一个键值。
  2. 从左向右找出键值K_{i},使得K_{i}> K
  3. 从左向右找出键值K_{j},使得K_{j}< K
  4. 如果i< j,那么K_{i}K_{j}互换,并回到步骤2。
  5. 如果i\geqslant j,那么将KK_{j}互相,并以j为基准点分割成左、右两部分,然后针对左、右两边执行步骤1~5,直到左边键值等于右边键值为止。

2、算法分析

  1. 在最好情况和平均情况下,时间复杂度为O(nlog_{2^{}}n)。在最坏情况下就是每次挑中的中间值不是最大就是最小的,其时间复杂度为O(n^{2})
  2. 快速排序法不是稳定排序法。
  3. 在最坏情况下,空间复杂度为O(n),而在最好情况下,空间复杂度为O(log_{2^{}}n)
  4. 快速排序法是平均运行时间最快的排序法。

3、C++代码 

#include<iostream>
using namespace std;void Print(int tempData[], int tempSize) {for (int i = 0; i < tempSize; i++) {cout << tempData[i] << "  ";}cout << endl;
}void Quick(int tempData[], int tempLeft, int tempRight) {int temp;int leftIndex;int rightIndex;int t;if (tempLeft < tempRight) {leftIndex = tempLeft + 1;rightIndex = tempRight;while (true) {for (int i = tempLeft + 1; i < tempRight; i++) {if (tempData[i] >= tempData[tempLeft]) {leftIndex = i;break;}leftIndex++;}for (int j = tempRight; j > tempLeft + 1; j--) {if (tempData[j] <= tempData[tempLeft]) {rightIndex = j;break;}rightIndex--;}if (leftIndex < rightIndex) {temp = tempData[leftIndex];tempData[leftIndex] = tempData[rightIndex];tempData[rightIndex] = temp;}else {break;}}if (leftIndex >= rightIndex) {temp = tempData[tempLeft];tempData[tempLeft] = tempData[rightIndex];tempData[rightIndex] = temp;Quick(tempData, tempLeft, rightIndex - 1);Quick(tempData, rightIndex + 1, tempRight);}}
}int main() {const int size = 10;int data[100] = { 32,5,24,55,40,81,17,48,25,71 };//32  5  24  55  40  81  17  48  25  71//32  5  24  25  40  81  17  48  55  71//32  5  24  25  17  81  40  48  55  71//17  5  24  25  32  81  40  48  55  71//5  17  24  25  32  81  40  48  55  71//5  17  25  24  32  81  40  48  55  71//5  17  25  24  32  71  40  48  55  81//5  17  25  24  32  55  40  48  71  81//5  17  25  24  32  48  40  55  71  81//5  17  25  24  32  40  48  55  71  81Print(data, size);Quick(data, 0, size - 1);Print(data, size);return 0;
}

输出结果 

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

相关文章:

  • 怎么建立一个博客网站吗免费wordpress主题分享
  • seo建站工具网页拖拽设计工具
  • 如何做好一个外贸网站的编辑网站本身对网站打开速度有何影响
  • 有域名了如何做网站重庆建设工程标准网
  • 合肥seo网站建设哪里搜索引擎优化好
  • 视频直播网站开发北京商城网站开发
  • 装修网站怎么做网站更改了资料 百度什么时侯来抓取
  • centos做网站服务器素材下载网站开发
  • 网站排名优化推广公司app开发软件要多少钱
  • 建设厅科技中心网站wordpress友情链接单页
  • 绵阳网站开发深圳的建站公司
  • 咸阳网站开发公司十大收益最好的自媒体平台
  • 国外销售网站企业网站系统源码
  • 怎么查网站的关键词排名wordpress局域网自定义域名
  • 龙陵县住房和城乡建设局网站网页策划案的范文
  • 玉溪市住房和建设局公布网站如何在自己的电脑上做网站
  • 专业做房地产网站建设企业所得税优惠政策最新2024
  • 上海网站制作哪家奿网站建设公司怎么发展
  • 网站流量不正常国外在线crm系统suitecrm
  • owasp 网站开发知名高端网站设计企业
  • 可以做视频推广的网站吗做网站分页
  • 网站上的公告怎么做参考文献桂林网站建设 腾云
  • 仙桃做网站找谁厚街仿做网站
  • 湖北什么网站建设值得推荐wordpress评论显示游客
  • html5自适应网站源码徐州网站建设方案
  • 西安电子商务网站建设网络规划设计师报考
  • 网上家教网站开发做ic哪些网站好做
  • 湖北营销型网站建设公司上海市网站制作
  • 个人网站怎么做cps哪个网站做ppt
  • seo 网站关键词营销网络分布情况