模板——Quick Sort

快排模板

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int QuickPass(int st[15], int b, int e)
{
    int i = b, j = e;
    st[0] = st[i];
    while(i<j)
    {
        while(st[j]>st[0] && i<j) j--;
        if(i<j)
        {
            st[i] = st[j];
            i++;
            while(st[i]<=st[0] && i<j) i++;
            if(i<j)
            {
                st[j] = st[i];
                j--;
            }
        }
    }
    st[i] = st[0];
    return i;
}
void QuickSort(int seq[15], int s, int t)
{
    int p;
    if(s<t)
    {
        p = QuickPass(seq, s, t);
        QuickSort(seq, s, p-1);
        QuickSort(seq, p+1, t);
    }
}
int main()
{
    /*在此定义输入10个数字*/
    int seq[15];
    int len = 10,start = 1, i;
    for(i=1; i<=10; i++)
    {
        scanf("%d",&seq[i]);
    }
    QuickSort(seq, start, len);
    for(i=1; i<=10; i++)
    {
        printf("%d ",seq[i]);
    }
    printf("\n");
    return 0;
}


 

你可能感兴趣的:(模板——Quick Sort)