排序算法专题:quickSort,choose,bubble
2026/5/11 13:55:00 网站建设 项目流程

1、快速排序(升序)

voidquickSort(intsort[],intm,intn){intk,t,i,j;if(m<n){i=m;j=n+1;k=sort[m];while(i<j){for(i=i+1;i<n;i++)if(sort[i]>=k)break;for(j=j-1;j>m;j--)if(sort[j]<=k)break;if(i<j){t=sort[i];sort[i]=sort[j];sort[j]=t;}}t=sort[m];sort[m]=sort[j];sort[j]=t;quickSort(sort,m,j-1);quickSort(sort,i,n);}}

2、选择排序法(升序)

voidchoose(inta[],intn){// a[]是指针、等价*p,n是数组a中待排序元素的数量inti,j,index,temp;for(i=0;i<(n-1);i++){//index=i;for(j=i+1;j<n;j++)if(a[j]<a[index])index=j;// 比较大小,记录最小元素的下标temp=a[index];// 剩余元素的最小值跟最靠前的元素交换a[index]=a[i];a[i]=temp;}}

3、冒泡排序法(升序)

voidbubble(inta[],intn){// a[]是指针、等价*p,n是数组a中待排序元素的数量inti,j,temp;for(i=0;i<(n-1);i++)for(j=0;j<(n-1)-i;j++)if(a[j]>a[j+1]){// 后面的元素比较大temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询