⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 这是RarnuC的Exe程序。是百度编程群老大Rarnu的个人作品。希望大家喜欢。
💻
字号:
#define MAXN 20
#include <stdlib.h>

/* 对数组 a 中的第 low 至第 up 个元素进行快速排序 */
void quick_sort(int a[], int low, int up)
{
    int i, j;
    int t;

    if(low < up)
    {
        /* 如果有元素需要排序 */
        /* 设置基本标志 */
        i = low;
        j = up;

        /* 将首个元素设为控制值,同时形成空位 */
        t = a[low];

        while(i != j)
        {
            /* 移动右侧的下标标志 */
            while(i < j && a[j] > t)
                j--;
            /* 找到比控制值小的值,移动到空位 */
            if(i < j)
                a[i++] = a[j];

            /* 移动左侧的下标标志 */
            while(i < j && a[i] <= t)
                i++;
            /* 找到比控制值大的值,移动到空位 */
            if(i < j)
                a[j--] = a[i];
        }

        /* 将控制值填回空位 */
        a[i] = t;

        /* 对控制值左侧和右侧部分分别进行快速排序递归操作 */
        quick_sort(a, low, i - 1);
        quick_sort(a, i + 1, up);
    }
}

void main()
{
    int i, n;
    int data[MAXN];
    int scount = 0;

    printf("\nInput n (n <= 20) = ");
    scanf("%d", &n);

    if(n > MAXN - 1)
    {
        printf("### n > %d ###\n", MAXN - 1);
        getch();
        exit(1);
    }

    /* 随机生成 n 个数 */
    randomize();
    printf("Before: ");
    for(i = 0; i < n; i++)
    {
        data[i] = rand();
        printf("%6d", data[i]);
    }

    /* 排序 */
    quick_sort(data, 0, n);

    /* 输出结果 */
    printf("\nAfter:  ");
    for(i = 0; i < n; i++)
        printf("%6d", data[i]);

    getch();
}		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -