c++常用的排序算法有哪些
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下c++常用的排序算法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!c++常用的排序算法//选择排序
千家信息网最后更新 2026年11月01日c++常用的排序算法有哪些
小编给大家分享一下c++常用的排序算法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
c++常用的排序算法
//选择排序法SelectionSort(int arr[],int n)
templatevoid SelectionSort(T arr[],int n){int smallIndex; //表中最小元素的下标int pass,j; //用来扫描子表的下标T temp; //用来交换表元素的临时变量//pass的范围是0~n-2for (pass=0;pass /************************************************************************
双端选择排序算法:是上面选择排序算法的变种,可以定位每个子表中最小和最大元素
并把它们分别放在子表的开头和结尾.
************************************************************************/
//双端选择排序算法函数deSelSort()的实现templatevoid deSelSort(T arr[],int n){int smallIndex,largeIndex; //表中最小及最大元素的下标int leftPass=0,rightPass=n-1,i,j; //用来从表左边及右边扫描子表的下标 T temp; //用于交换元素的临时变量 while (leftPass<=rightPass){//从左边及右边开始扫描子表smallIndex=leftPass;largeIndex=rightPass;//j和i遍历整个子表arr[LeftPass]~arr[rightPass]for (i=leftPass+1;i leftPass;j--)if(arr[j]>arr[largeIndex])largeIndex=j;if(largeIndex!=rightPass){temp=arr[rightPass];arr[rightPass]=arr[largeIndex];arr[largeIndex]=temp;}//从两头收缩子表leftPass++;rightPass--;}} temp=arr[rightPass];arr[rightPass]=arr[largeIndex];arr[largeIndex]=temp;}//从两头收缩子表leftPass++;rightPass--;}}//自编冒泡法排序算法函数bubbleSort()的实现
templateint bubbleSort(T arr[],int n){bool exchanged=false; //是否发生交换int i,j; //用于遍历子表的下标T temp; //用于交换元素的临时变量 //开始遍历过程,以下标j构成子表,共有n-1个子表for (j=n-1;j>=0;j--) //j从后往前收缩n-1~0,以构成子表0~n-1,0~n-2,0~n-3..0~1{exchanged=false;for (i=0;i arr[i+1]){temp=arr[i];arr[i]=arr[i+1];arr[i+1]=temp;exchanged=true;}}if (!exchanged) return n-j-1;//如果在一次遍历中没有发生交换,则表示已经 //排序好,中断遍历过程}return n-1-j;} //冒泡法排序一般算法函数bubbleSortEx()的实现
templateint bubbleSortEx(T arr[],int n){int i,pass; //用于遍历子表的下标T temp; //用于交换元素的临时变量//开始遍历过程,以下标j构成子表,共有n-1个子表for (pass=0;pass arr[i+1]){temp=arr[i];arr[i]=arr[i+1];arr[i+1]=temp;}}}return pass;} 以上是"c++常用的排序算法有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
排序
下标
元素
算法
个子
最小
变量
选择
常用
c++
位置
函数
篇文章
过程
收缩
最大
两头
内容
右边
相同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
广东猪兼强互联网科技有限公司
江苏根荣互联网科技
重生之互联网科技帝国
科技创新与互联网经济
互联网科技有限公司图片
互联网 科技公司
有马互联网科技
碳银互联网科技
广州互联网络科技有限公司
西安互联网科技公司
互联网科技上市公司
碳银互联网科技有限公司
融贸通互联网科技
互联网科技公司需要的职位
互联网科技中介
南博望互联网科技有限公司
广东鹅鹅鹅互联网科技有限公司
中国科技和美国互联网
银川新华互联网科技学校原画
北京路客互联网科技有限公司
金融科技 互联网金融
互联网科技咨询
哈尔滨秒房互联网科技有限公司
隆华科技工业互联网
互联网科技寓意
互联网科技公司实习生
互联网科技和信息
普陀区互联网教育科技管理办法
数字科技和互联网金融哪个好