C常用经典算法及其实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C常用经典算法及其实
现
集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-
常用算法经典代码(C++版)
一、快速排序
voidqsort(intx,inty)//待排序的数据存放在a[1]..a[n]数组中
{inth=x,r=y;
intm=a[(x+y)>>1];//取中间的那个位置的值
while(h {while(a[h] while(a[r]>m)r--;//比中间那个位置的值大,循环直到找一个比中间那个值小的 if(h<=r) {inttemp=a[h];//如果此时h<=r,交换a[h]和a[r] a[h]=a[r]; a[r]=temp; h++;r--;//这两句必不可少哦 } } if(r>x)qsort(x,r);//注意此处,尾指针跑到前半部分了 if(h } 调用:qsort(1,n)即可实现数组a中元素有序。适用于n比较大的排序 二、冒泡排序 voidpaopao(void)//待排序的数据存放在a[1]..a[n]数组中 {for(inti=1;i if(a[j] } 或者 voidpaopao(void)//待排序的数据存放在a[1]..a[n]数组中 {for(inti=1;i