全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++ 中快排的递归和非递归实现

快排的递归

void quickSort1(int* root,int low,int high)
{
 int pat=root[low];
 if(low<high)
 {
 int i=low,j=high;
 while(i<j)
 { 
  while(i<j&&root[j]>pat)
  j--;
  root[i]=root[j];


  while(i<j&&root[i]<pat)
  i++;
  root[j]=root[i];

 }
 root[i]=pat;
 quickSort1(root,low,i-1);
 quickSort1(root,i+1,high);
 }
 
}

快排的非递归

int partion(int* root,int low,int high)
{
 int part=root[low];
 while(low<high)
 {
 while(low<high&&root[high]>part) high--;
 root[low]=root[high];
 while(low<high&&root[low]<part) low++;
 root[high]=root[low];
 }
 root[low]=part;
 return low;
}

void quickSort2(int* root,int low,int high)
{
 stack<int> st;
 int k;
 if(low<high)
 {
 st.push(low);
 st.push(high);
 while(!st.empty())
 {
  int j=st.top();st.pop();
  int i=st.top();st.pop();

  k=partion(root,i,j);

  if(i<k-1)
  {
  st.push(i);
  st.push(k-1);
  }
  if(k+1<j)
  {
  st.push(k+1);
  st.push(j);
  }
 }

 }
 
}

int main()
{
 int a[8]={4,2,6,7,9,5,1,3};
 quickSort1(a,0,7);
 //quickSort2(a,0,7);
 int i;
 for(i=0;i<8;i++)
 cout<<a[i]<<" ";
 cout<<endl;
 getchar();
 return 0;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C++  # 中快排的递归和非递归  # 数据结构中快排的递归和非递归实现  # C++:函数对象  # STL提供的函数对象  # 函数适配器详解  # C++在成员函数中使用STL的find_if函数实例  # C++归并排序算法详解  # C++编程归并排序算法实现示例  # C++实现归并排序  # C++STL函数和排序算法的快排以及归并排序详解  # 递归  # 希望能  # 谢谢大家  # root  # int  # high  # amp  # lt  # pat  # pre  # br  # strong  # class  # void  # java  # brush  # gt  # pop  # top  # empty 


相关文章: 深入理解Android中的xmlns:tools属性  存储型VPS适合搭建中小型网站吗?  如何在宝塔面板中创建新站点?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  实现虚拟支付需哪些建站技术支撑?  如何在IIS服务器上快速部署高效网站?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  宝塔面板创建网站无法访问?如何快速排查修复?  重庆市网站制作公司,重庆招聘网站哪个好?  如何通过cPanel快速搭建网站?  微信推文制作网站有哪些,怎么做微信推文,急?  如何通过FTP空间快速搭建安全高效网站?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  如何在局域网内绑定自建网站域名?  如何选择建站程序?包含哪些必备功能与类型?  如何在IIS7中新建站点?详细步骤解析  香港服务器如何优化才能显著提升网站加载速度?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  网站制作企业,网站的banner和导航栏是指什么?  制作销售网站教学视频,销售网站有哪些?  北京企业网站设计制作公司,北京铁路集团官方网站?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何生成腾讯云建站专用兑换码?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Android滚轮选择时间控件使用详解  红河网站制作公司,红河事业单位身份证如何上传?    定制建站是什么?如何实现个性化需求?  如何选择高效可靠的多用户建站源码资源?  如何在景安服务器上快速搭建个人网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何选择CMS系统实现快速建站与SEO优化?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  如何正确下载安装西数主机建站助手?  如何通过服务器快速搭建网站?完整步骤解析  创业网站制作流程,创业网站可靠吗?  如何基于PHP生成高效IDC网络公司建站源码?  已有域名能否直接搭建网站?  历史网站制作软件,华为如何找回被删除的网站?  定制建站如何定义?其核心优势是什么?  如何快速完成中国万网建站详细流程?  如何用搬瓦工VPS快速搭建个人网站?  如何通过WDCP绑定主域名及创建子域名站点?  网站制作网站,深圳做网站哪家比较好?  如何选择高效响应式自助建站源码系统? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。