2022年2022年快排算法C语言 .pdf
《2022年2022年快排算法C语言 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年快排算法C语言 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#includestdio.h/打印结果函数void show(int array,long maxlen,int begin,int end)int i=0;for(i=0;ibegin;i+)/不关心数据用空格填充显示printf();for(i=begin;i=end;i+)/输出数组printf(%4d,arrayi);printf(n);/*两个数交换数值。返回为1 时说明进行了交换。返回为0 时说明两个数值相同没必要交换。此返回值可以用于只想打印结果变化的情况。*/int swap(int*i,int*j)int temp;if(*i=*j)return 0;temp=*i;*i=
2、*j;*j=temp;return 1;/快排函数void quicksort(int array,int maxlen,int begin,int end)int i,j;if(beginend)i=begin+1;/开始作为基准值不用移动,从第二个开始j=end;while(iarraybegin)if(swap(&arrayi,&arrayj)=1)j-;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 3 页 -else i+;/此时 i=j,为两部分的分界线/需要判断arrayi 与 arraybegin 的大小if(arrayiarraybegin)/arrayi比 a
3、rraybegin 大i-;/将其放到后半部分if(swap(&arraybegin,&arrayi)=1)/arrayi比 arraybegin 小,交换位置,放到前半部分quicksort(array,maxlen,begin,i-1);quicksort(array,maxlen,j,end);int main(int argc,char*argv)int n,array100;int i,j;printf(请输入排序数字个数n:);scanf(%d,&n);for(i=0;in;i+)scanf(%d,&arrayi);int maxlen;maxlen=n;show(array,maxlen,0,maxlen-1);/打印初始顺序quicksort(array,maxlen,0,maxlen-1);show(array,maxlen,0,maxlen-1);/打印最终结果return 0;运行结果(VC 6.0):名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 3 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 3 页 -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年快排算法C语言 2022 年快排 算法 语言
限制150内