首页 > 代码库 > C/C++实现各类排序算法(目前实现冒泡、快排)

C/C++实现各类排序算法(目前实现冒泡、快排)

快速排序:

void quick_sort(int a[],int low,int high)
{
    int i=low,j=high,tmp=a[low];  //tmp存储基准元素,相当于空出一个用于调动的动态位置
    if(low<high)
    {
        while(i!=j)
        {
            while(j>i&&a[j]>=tmp)
                j--;
            a[i]=a[j];            //此时a[j]空出
            while(j>i&&a[i]<=tmp)
                i++;
            a[j]=a[i];            //a[i]空出
        }
        a[i]=tmp;                 //此时i=j,将基准元素放入此“中间”位置
        quick_sort(a,low,i-1);
        quick_sort(a,i+1,high);
}

冒泡排序:

void bubble_sort(int a[], int n)
{int i, j, temp;
    for (j = 0; j < n - 1; j++)
        for (i = 0; i < n - 1 - j; i++)
         if(a[i] > a[i + 1])
            {temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;}
}

未完。。

C/C++实现各类排序算法(目前实现冒泡、快排)