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

新区网站建设制作网页最多的图片格式

新区网站建设,制作网页最多的图片格式,网站怎么快速做排名,wordpress免费大学主题快速排序: 1.首先找一个基准点(一般选取最左边第一个) 2.先从后往前遍历,找到第一个小于基准值的元素; 3.再从前往后,找到第一个大于基准值的元素; 4.将这两个元素两两交换 5.当i与j相遇时…

快速排序:

1.首先找一个基准点(一般选取最左边第一个)

2.先从后往前遍历,找到第一个小于基准值的元素;

3.再从前往后,找到第一个大于基准值的元素;

4.将这两个元素两两交换

5.当i与j相遇时,说明找到了排序后当前这个基准值的正确位置,将基准点进行归位;

6.开始新的一轮,以上一轮的基准点为中轴,分成左边区域和右边区域,分别选取一个新的基准点对新的基准点进行归位即可。

非递归(利用队列实现)

//进行分区,也就是找到基准点排序后的正确位置
int pation(vector<int>& nums, int left, int right)
{int tmp = nums[left];//先将基准点保存起来//循环结束条件:i和j相遇while (left < right){//从后往前找,找到第一个小于基准点的下标while (left<right && nums[right]>tmp)--right;//将当前这个值赋给左下标的元素if (left < right) nums[left] = nums[right];//从前往后,找到第一个大于基准值的下标while (left < right && nums[left] <= tmp)++left;将当前这个值赋给右下标的元素if (left < right) nums[right] = nums[left];}//此时left和right就是基准值的正确位置//将基准值归位nums[left] = tmp;return left;
}
//非递归
void quickSort(vector<int>& nums, int left, int right)
{queue<int> qu;//通过队列实现非递归,如果用栈就是先放右边的值再放左边的值qu.push(left);qu.push(right);while(!qu.empty()){left = qu.front(); qu.pop();right = qu.front(); qu.pop();//分区int pos = pation(nums, left, right);//对左边序列进行排序if (left < pos - 1){qu.push(left);qu.push(pos - 1);}//对右边序列进行排序if (right > pos + 1){qu.push(pos + 1);qu.push(right);}}
}
int main()
{cout << "请输入数组大小:" << endl;int n;cin >> n;vector<int> nums(n);for (int i = 0; i < n; i++){cin >> nums[i];}quickSort(nums, 0, n - 1);cout << "排序后的数组:" << endl;for (auto& i:nums){cout << i << " ";}cout << endl;return 0;
}

递归:

void dfs(vector<int>& nums, int left, int right)
{//左右边界相遇时,直接return结束if (left >= right) return;int key = nums[left];//保存基准值int i = left, j = right;while (i < j){//从后往前找第一个小于基准值的元素while (nums[j]>=nums[left] &&i<j){j--;}//从前往后找第一个大于基准值的元素while (nums[i] <= nums[left] && i<j){i++;}//左右边界没有相遇,将这两个值两两交换if (i < j){swap(nums[j], nums[i]);}}//此时循环结束,i或j下标就代表基准值的正确下标位置nums[left] = nums[i];nums[i] = key;//递归左边区域dfs(nums, left, i - 1);//递归右边区域dfs(nums, i + 1, right);
}

 注意:

快速排序的时间复杂度通常情况下是O(nlogn)

但在特殊情况下,比如选取的这个基准点刚好是最大值或是最小值时,对n个元素排序,需要遍历n次,此时时间复杂度为O(n*n);

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

相关文章:

  • 青岛住房和城乡建设厅网站首页网站搭建本地环境
  • 南宁市营商环境建设局网站简易做海报网站
  • 做网站旅游销售试用型网站
  • 网站建设公司话术布料市场做哪个网站好
  • 自己的网站怎么编辑器js 曲线 网站
  • 公司的官方网站怎么做斗图制作器
  • 个人备案的公司网站坪山网站建设行业现状
  • 昆明网站建站平台凡科建站模板
  • 徐州市城乡和城乡建设厅网站首页企业管理咨询名词解释
  • 开网站挣不挣钱河北秦皇岛黄金海岸
  • 临沂网站建设昂牛网络网站开发模板教程
  • 家装效果图设计网站传奇手机版网站
  • 西华县建设局网站那个网站的域名便宜
  • 制作手机网站什么软件下载新浪微指数
  • 怎么检查网站有没有被挂马wordpress阿里云图片
  • 东莞++网站建设自建营销型网站模板
  • 一级a做爰片免费观看 安全网站注册企业营业执照需要什么条件
  • 做网站公司怎么做网站建设的闪光点
  • 工信部网站域名备案信息查询怎样给网站做优化
  • 卡车行业做网站的用途怎么在网上建网站
  • 给军方做网站套模板行不行优秀的营销案例ppt
  • 商务网站策划书网页制作与网站建设教程视频
  • 东营做网站多少钱网络专题的设计策划方案
  • 景点介绍网站开发设计wordpress 商业
  • 怎样做视频网站网站访问量咋做
  • 如何在已建设好的网站做修改注重网站内容维护
  • 公司建推广网站多少钱网站平台结构
  • 网红网站建设官网WordPress价格高低排序
  • 济南智能网站建设服务PS做网站页面尺寸
  • flash网站建设方案电话推销网站建设