俩种快速排列

来源:互联网 发布:淘宝网折叠餐桌 编辑:程序博客网 时间:2024/06/10 05:04
#include<stdio.h>#define size 5int main(void){    int num[5]={12,23,21,1,3};    int i,j;    int min=0;    int *p1;    p1=num;     for(i=0;i<size;i++)        for(j=0;j<size-i-1;j++)            {                if(num[j]>=num[j+1]){                    min=num[j];                    num[j]=num[j+1];                    num[j+1]=min;                }                       }               while(p1<num+size)    printf("%d\n",*p1++);       return 0;}冒泡

编译器函数库自带的快速排序函数qsort()

#include<stdio.h>#include<stdlib.h>#define size  5int cmp(const void *a,const void *b){    return  *(int *)a - *(int *)b;}int main(void){    int num[size]={2,312,4,124,5};    int *p1;    p1=num;    qsort(num,5,sizeof(num[0]),cmp);    while(p1<num+size)        printf("%d\n",*p1++);    return 0;}qsort 的函数原型是void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));各参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针快排 O(nlogn)
原创粉丝点击