千家信息网

c++常用的排序算法有哪些

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下c++常用的排序算法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!c++常用的排序算法//选择排序
千家信息网最后更新 2025年11月08日c++常用的排序算法有哪些

小编给大家分享一下c++常用的排序算法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

c++常用的排序算法

//选择排序法SelectionSort(int arr[],int n)

template void SelectionSort(T arr[],int n){int smallIndex; //表中最小元素的下标int pass,j; //用来扫描子表的下标T temp; //用来交换表元素的临时变量//pass的范围是0~n-2for (pass=0;pass

/************************************************************************
双端选择排序算法:是上面选择排序算法的变种,可以定位每个子表中最小和最大元素
并把它们分别放在子表的开头和结尾.
************************************************************************/
//双端选择排序算法函数deSelSort()的实现

template void 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;ileftPass;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()的实现

template int 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;iarr[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()的实现

template int bubbleSortEx(T arr[],int n){int i,pass; //用于遍历子表的下标T temp; //用于交换元素的临时变量//开始遍历过程,以下标j构成子表,共有n-1个子表for (pass=0;passarr[i+1]){temp=arr[i];arr[i]=arr[i+1];arr[i+1]=temp;}}}return pass;}

以上是"c++常用的排序算法有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

排序 下标 元素 算法 个子 最小 变量 选择 常用 c++ 位置 函数 篇文章 过程 收缩 最大 两头 内容 右边 相同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库表创建完成后加约束 马云我不懂互联网也不懂科技发展 嘉兴智令软件开发有限公司 吉林国产化服务器供应公司 饶平软件开发定制 北京鑫宝源互联网科技公司官网 软件开发增值服务 苏州电商软件开发产品介绍 服务器出口管理 mysql数据库的卸载 南沙网络安全服务有哪些 房地产应用软件开发 hp服务器说明书 软件开发语言怎么不能统一 数据库数据类型 sql语句 修改数据库用什么关键字 阿里的云服务器安全吗 广州学校饭堂自助点餐软件开发 苹果手机查询服务器地址 新乡市紫城网络技术有限公司 老年群体在互联网科技中的感受 顺平软件开发系统 吉林国产化服务器供应公司 明日服务器开启一般几点 AB数据库同步技术的应用 幼儿园网络安全宣讲 基础较差的如何学好网络安全 远程无法访问服务器管理端口 方舟官方服务器新开的有吗 基因 数据库优化
0