快速排序法(C语言).doc

快速排序法(C语言).doc

ID:53708270

大小:76.50 KB

页数:4页

时间:2020-04-06

快速排序法(C语言).doc_第1页
快速排序法(C语言).doc_第2页
快速排序法(C语言).doc_第3页
快速排序法(C语言).doc_第4页
资源描述:

《快速排序法(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#include#include#definerandx(x)(rand()%x)typedefintKeyType;typedefintDataType;typedefstruct{KeyTypekey;/*排序码字段*/DataTypeinfo;/*记录的其它字段*/}RecordNode;typedefstruct{intn;/*文件中的记录个数,可以视为常量*/RecordNode*record;}SortObject;voidcreatsort(SortObject

2、*pvector,int&l,int&r)//新建二叉排序树{inti;intk;printf("您即将要创建一个序列");printf("请输入该序列元素的个数");scanf("%d",&pvector->n);pvector->record=(RecordNode*)malloc((sizeof(RecordNode))*(pvector->n));printf("你要以什么方式创建序列?方式1:自动创建请输入1,方式2:手动创建请输入0");scanf("%d",&k);if(k){srand((int)time(0));for(i=0;i

3、ctor->n;i++){if(pvector->n<100)pvector->record[i].key=randx(100);elseif((pvector->n<1000))pvector->record[i].key=randx(1000);elsepvector->record[i].key=randx(pvector->n);}}else{printf("请输入%d个大小不一样的整数",pvector->n);for(i=0;in;i++){scanf("%d",&pvector->record[i].key);}}if(pvector)p

4、rintf("序列创建成功!");elseprintf("序列创建失败!");l=0,r=pvector->n-1;}voidshow(SortObject*pvector){printf("当前序列为:");if(!pvector)printf("当前序列为空");elsefor(inti=1;i<=pvector->n;i++){printf("%d",pvector->record[i-1].key);if(i%15==0)printf("");}printf("");}voidquickSort(SortObject*&pvector,in

5、tl,intr){inti,j;RecordNodetemp,*data=pvector->record;if(l>=r)return;/*只有一个记录或无记录,则无须排序*/i=l;j=r;temp=data[i];while(i!=j){/*找Rl的最终位置*/while(i=temp.key)j--;/*向左扫描找排序码小于temp.key的记录*/if(i

6、[j--]=data[i];}data[i]=temp;/*将Rl存入其最终位置*/quickSort(pvector,l,i-1);/*递归处理左区间*/quickSort(pvector,i+1,r);/*递归处理右区间*/}voidinterface(void){printf("&&&&&&&&&&&&&&输入序号执行相应操作&&&&&&&&&&&&&&&&&");printf("输入1,重新建立序列!");printf("---------------------------------------------------");printf("输入2,快速

7、排序当前序列!");printf("---------------------------------------------------");printf("输入3,显示当前序列!");printf("---------------------------------------------------");printf("输入其他,退出操作!");printf("-----------------------------------------------

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

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

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