#include<stdio.h>
#define size 5
int 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 5
int 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)