c++常用的排序算法有哪些
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,小编给大家分享一下c++常用的排序算法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!c++常用的排序算法//选择排序
千家信息网最后更新 2025年01月25日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安全错误
数据库的锁怎样保障安全
mvc查询数据库的方法
人大 数据库
node获取数据库展示到浏览器
如何构建网络安全命运共同体
手机数据库如何查看
泗水县网络安全这个部门好吗
服务器配置与管理有用没有
软件开发工程师有证吗
个人如何应对网络安全
为什么要报考计算机网络技术
甲骨文公司的数据库产品版本种类
ktv服务器授权已到期
服务器系统默认不开远程桌面吗
淮安软件开发代理商
南京新城科技园互联网产业园
坚强网络安全保障
陈志泊数据库第四版简答题
从化区什么网络技术开发经验丰富
linux 服务器时间快
软件开发方法主要有两种
国内游戏的服务器哪家最好
软件开发哪个公司靠谱
php访问返回数据库
创建数据库是为了
人力资源如何贯彻网络安全
数据网络一直显示无法连接服务器
迷你asp服务器
江苏网络安全事件
cc攻击服务器数据库
灞桥区网络安全大会