分治法排序——C++实现
来源:互联网 发布:ettercap linux 安装 编辑:程序博客网 时间:2024/06/09 18:50
#include<iostream>#include"stdlib.h"#definerandom(x)(rand()%x)using namespace std;int count1=0,count2=0;int comp(int a,int b){count1++;if(a<=b)return 1;elsereturn 0;}void swap(int a,int b){int t;t=a;a=b;b=t;count2++;}int split(int aa[],int low,int high){int k,i=low;int x=aa[low];for(k=low+1;k<=high;k++){i=i+1;if(i!=k)swap(aa[i],aa[k]);}swap(aa[low],aa[i]);return i;}void quick_sort(int A[],int low,int high){int k;if(low<high){k=split(A,low,high);quick_sort(A,low,k-1);quick_sort(A,k+1,high);}}int main(){int n;cout<<"输入排序元素个数n=";cin>>n;cout<<endl<<"产生"<<n<<"个0-100之间的随机整数为:";int * A=new int[n];for(int i=0;i<n;i++){A[i]=random(101);cout<<A[i]<<" ";}cout<<endl<<endl<<"采用分治法排序后为:";quick_sort(A,0,n-1);for(int j=0;j<n;j++){cout<<A[j]<<" ";}cout<<endl<<endl<<"排序过程中的比较次数count1="<<count1<<" 交换次数count2="<<count2<<endl;return 0;}
0 0
- 分治法排序——C++实现
- 用C语言实现分治法排序
- 排序——分治法
- 分治法—归并排序
- 分治法之合并排序(C实现)
- 分治排序的C/C++实现
- 分治法实现归并排序
- 分治法实现归并排序
- 分治法——归并排序
- 分治法算法——归并排序
- 分治法——归并排序
- 分治归并排序算法——Java实现
- 【算法】快速排序——基于分治思想的实现
- 分治法合并排序(C++)
- 快速排序的递归实现。 分治法。
- 分治法--用C++实现合并排序
- 快速排序(分治法实现)
- 分治法实现快速排序算法
- pat1041Be Unique (20)
- 项目36.3消除多余的空格
- __bridge 等方法的使用
- 【黑马程序员】【C语言】我的第一个C程序
- 下拉刷新,加载更多的实现
- 分治法排序——C++实现
- 熟悉DEBUG调试环境试验
- 直方图均衡化
- AsyncTask
- llvm之IR手册翻译(1)
- [产品经理]如何分析APP功能需求、结构?
- 消息队列
- iOS GCD
- 【Foundation-26-3】#import <Foundation/NSDictionary.h>字典,操作