亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C語言快速排序?qū)嵗a

時間:2024-10-30 00:02:59 C語言 我要投稿
  • 相關(guān)推薦

C語言快速排序?qū)嵗a

  快速排序是對冒泡法排序的一種改進。下面小編為大家整理了C語言快速排序?qū)嵗a,希望能幫到大家!

#include <stdio.h>

int qusort(int s[],int start,int end)    //自定義函數(shù) qusort()

{

    int i,j;    //定義變量為基本整型

    i=start;    //將每組首個元素賦給i

    j = end;    //將每組末尾元素賦給j

    s[0]=s[start];    //設(shè)置基準(zhǔn)值

    while(i<j)

    {

        while(i<j&&s[0]<s[j])

        j--;    //位置左移

        if(i<j)

        {

            s[i]=s[j];    //將s[j]放到s[i]的位置上

            i++;    //位置右移

        }

        while(i<j&&s[i]<=s[0])

            i++;    //位置左移

        if(i<j)

        {

            s[j]=s[i];    //將大于基準(zhǔn)值的s[j]放到s[i]位置

            j--;    //位置左移

        }

    }

    s[i]=s[0];    //將基準(zhǔn)值放入指定位置

    if (start<i)

        qusort(s,start,j-1);    //對分割出的部分遞歸調(diào)用qusort()函數(shù)

    if (i<end)

        qusort(s,j+1,end);

    return 0;

}

int main()

{

    int a[11], i;    //定義數(shù)組及變量為基本整型

    printf("請輸入10個數(shù): ");

    for(i=1;i<=10;i++)

        scanf("%d",&a[i]);    //從鍵盤中輸入10個要進行排序的數(shù)

    qusort(a,1,10);    //調(diào)用qusort()函數(shù)進行排序

    printf("排序后的順序是: ");

    for(i=1;i<=10;i++)

        printf("%5d",a[i]);    //輸出排好序的數(shù)組

    printf(" ");

    return 0;

}

【C語言快速排序?qū)嵗a】相關(guān)文章:

C語言快速排序算法及代碼06-25

C語言合并排序及實例代碼10-30

C語言插入排序算法及實例代碼07-02

C語言合并排序及實例代碼詳解11-02

C語言合并排序及實例代碼講解09-18

C語言奇偶排序算法詳解及實例代碼10-30

C語言選擇排序算法及實例代碼07-25

C語言中qsort快速排序使用實例08-30

C語言中使用快速排序算法對元素排序的實例06-20