2024年4月14日发(作者:)
常用算法经典代码(C++版)
一、快速排序
void qsort(int x,int y) //待排序的数据存放在a[1]..a[n]数组中
{int h=x,r=y;
int m=a[(x+y)>>1]; //取中间的那个位置的值
while(h {while (a[h] while (a[r]>m) r--; //比中间那个位置的值大,循环直到找一个比中间那个值小的 if(h<=r) {int temp=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比较大的排序 二、冒泡排序 void paopao(void) //待排序的数据存放在a[1]..a[n]数组中 {for(int i=1;i for(int j=1;j<=n-i;j++) //相邻的两两比较 if(a[j] } 或者 void paopao(void) //待排序的数据存放在a[1]..a[n]数组中 {for(int i=1;i for(int j=n-i;j>=1;j--) //相邻的两两比较


发布评论