【c++版】直接选择排序法,直接插入排序法、快速排序法、堆排序法、冒泡排序发,实验

【c++版】直接选择排序法,直接插入排序法、快速排序法、堆排序法、冒泡排序发,实验

ID:44704210

大小:52.01 KB

页数:4页

时间:2019-10-25

【c++版】直接选择排序法,直接插入排序法、快速排序法、堆排序法、冒泡排序发,实验_第1页
【c++版】直接选择排序法,直接插入排序法、快速排序法、堆排序法、冒泡排序发,实验_第2页
【c++版】直接选择排序法,直接插入排序法、快速排序法、堆排序法、冒泡排序发,实验_第3页
【c++版】直接选择排序法,直接插入排序法、快速排序法、堆排序法、冒泡排序发,实验_第4页
资源描述:

《【c++版】直接选择排序法,直接插入排序法、快速排序法、堆排序法、冒泡排序发,实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#includeusingnamespacestd;typedefintElemType;//直接插入排序voidInsertSort(ElemTypeA[],intn){inti,j;ElemTypex;for(i=1;i=0;j--){//从第i-1个开始往前找插入点if(x

2、emTypeA[],intn){inti,j,k;ElemTypex;for(i=0;i<=n-2;i++){//每一趟选择最小元素并与A[i]交换k=i;for(j=i+1;j<=n-1;j++)//查找最小元素的下标if(A[j]=0;i--)Sif

3、t(A,n,i);//调整A[i..n-1]使之为一个堆}voidSift(ElemTypeA[],intn,inti){//调整A[i..n-1]成为一个堆(它的左右子树已是一个堆)ElemTypex=A[i];intj=2*i+1;//j为i的左孩子while(j<=n-1){//i有左子树if(j+1

4、pSort(ElemTypeA[],intn){//A为待排序表,n为表的长度inti;ElemTypex;CreatHeap(A,n);//把A建成一个堆for(i=n-1;i>=1;i--){x=A[0];//第个元素与第i个元素交换A[0]=A[i];A[i]=x;Sift(A,i,0);//调整A[0..i-1]使之为一个堆}}//冒泡排序voidBubbleSort(ElemTypeA[],intn){inti,j,flag;//flag为交换标记ElemTypex;for(i=1;i<=n-1;i++){//最多n-

5、1趟排序flag=0;//假设本次没有交换for(j=n-1;j>=i;j--)//第i趟if(A[j]

6、++;//从左到右while(i<=j&&A[j]>=x)j--;//从右到左if(i>

7、A[j];cout<<"排序前为:"<

8、i]<

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

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

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