常用算法模板库(C++).doc

常用算法模板库(C++).doc

ID:53874322

大小:185.50 KB

页数:28页

时间:2020-04-10

常用算法模板库(C++).doc_第1页
常用算法模板库(C++).doc_第2页
常用算法模板库(C++).doc_第3页
常用算法模板库(C++).doc_第4页
常用算法模板库(C++).doc_第5页
资源描述:

《常用算法模板库(C++).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1排序算法1.1冒泡排序/*函数功能:对数组中的某一部分进行冒泡排序。函数原形:voidBubSort(DataTypea[],intl,intr,boolUp=true);参数:DataTypea[]:欲排序的数组;intl:有序序列在数组中的起始位置;intr:有序序列在数组中的结束位置;boolUp:true按升序排列,false按降序排列。返回值:无。备注:无。*/templatevoidBubSort(DataTypea[],intl,intr,boolUp=true)

2、{inti,j;DataTypek;if(Up){for(i=l;i<=r-1;i++)for(j=r;j>=i+1;j--)if(a[j-1]>a[j]){k=a[j-1];a[j-1]=a[j];a[j]=k;}}elsefor(i=l;i<=r-1;i++)for(j=r;j>=i+1;j--)if(a[j-1]

3、ntl,intr,boolUp=true);参数:DataTypea[]:欲排序的数组;intl:有序序列在数组中的起始位置;intr:有序序列在数组中的结束位置;boolUp:true按升序排列,false按降序排列。返回值:无。备注:无。*//*普通版*/templatevoidSelectSort(DataTypea[],intl,intr,boolUp=true){inti,j;DataTypek;if(Up){for(i=l;i<=r-1;i++)for(j=i+1;j

4、<=r;j++)if(a[i]>a[j]){k=a[i];a[i]=a[j];a[j]=k;}28}elsefor(i=l;i<=r-1;i++)for(j=i+1;j<=r;j++)if(a[i]voidSelectSort(DataTypea[],intl,intr,boolUp=true){inti,j,k;DataTypex;if(Up){for(i=l;i<=r-1;i++)

5、{k=i;for(j=i+1;j<=r;j++)if(a[j]a[k])k=j;x=a[i];a[i]=a[k];a[k]=x;}}1.3插入排序/*函数功能:向有序数组中插如元素,并使插入新元素后仍然有序。函数原形:voidInsertSort(DataTypes[],int&Count,DataTypex,boolUp=true);

6、参数:DataTypes[]:欲插入元素的有序序列;int&Count:有序序列中现有元素个数;DataTypex:欲插入的元素;boolUp:true按升序排列,false按降序排列。返回值:无。备注:无。*/templatevoidInsertSort(DataTypes[],int&Count,DataTypex,boolUp=true){inti,k=-1;if(Up){for(i=0;i<=Count-1;i++)if(x

7、or(i=0;i<=Count-1;i++)if(x>s[i]){k=i;break;}28if(k==-1)s[++Count-1]=x;else{for(i=Count-1;i>=k;i--)s[i+1]=s[i];s[k]=x;Count++;}}1.4快速排序/*函数功能:对数组中的某一部分进行快速排序。函数原形:voidQuickSort(DataTypea[],intl,intr,boolUp=true);参数:DataTypea[]:欲排序的数组;intl:有序序列在数组中的起始位置;intr:有序序

8、列在数组中的结束位置;boolUp:true按升序排列,false按降序排列。返回值:无。备注:无。*/templatevoidQuickSort(DataTypea[],intl,intr,boolUp=true){inti,j;DataTypeMid,k;i=l;j=r;Mid=a[(l+r)/2];if(Up){do

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。