C语言 快速排序算法的实用实例 使用范例 参考 qsort排序 srand函数 rand函数生成随机数 对随机数排序实例 C++ Linux快速排序参考 快排算法应用实例 排序源代码

快速排序算法的实用实例,C语言,Visual Studio编译,Linux环境、单片机开发环境通用。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

// 从小到大
int comp1(const void* p1,const void*p2)
{
    const int *p11 =  (const int *)p1;
    const int *p21 =  (const int *)p2;

    if (*p11 < *p21)
    {
        return -1;
    }
    else if(*p11 > *p21)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

// 从大到小
int comp2(const void* p1,const void*p2)
{
    const int *p11 =  (const int *)p1;
    const int *p21 =  (const int *)p2;

    if (*p11 < *p21)
    {
        return 1;
    }
    else if(*p11 > *p21)
    {
        return -1;
    }
    else
    {
        return 0;
    }
}

int main(void)
{
    int i = 0;
    int dat[100] = {0};

    srand(time(0));
    // 生成随机数列
    for(i = 0; i <100; i++)
    {
        dat[i] = rand()%100;
        printf("%d ", dat[i]);
    }
    printf("\n");

    // 排序
    qsort(dat,100, sizeof(int), comp1);

    // 排序后
    for(i = 0; i <100; i++)
    {
        printf("%d ", dat[i]);
    }
    printf("\n");

    return 0;
}

猜你喜欢

转载自blog.csdn.net/rabbit200808/article/details/107890984