sort():给指定区间的所有元素进行排序
example
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int a[5] = {1,5,4,2,3};
sort(a,a+5);
printf("%d",a[0]);
for(int i=1;i<5;i++)
{
printf(" %d",a[i]);
}
}
qsort():
功 能: 使用快速排序例程进行排序
头文件:stdlib.h
原型: void qsort(void base,int nelem,int width,int (*fcmp)(const void ,const void *));
1 待排序数组首地址
2 数组中待排序元素数量
3 各元素的占用空间大小
4 指向函数的指针,用于确定排序的顺序
这个函数必须要自己写比较函数,即使要排序的元素是int,float一类的C语言基础类型。
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int comp(const void *a,const void *b)
{
return *(int*)a-*(int*)b;
}
int main()
{
int array[10] = {2,4,1,5,5,3,7,4,1,5};//乱序的数组
int i;
qsort(array,10,sizeof(int),comp);
for(i=0;i<10;i++){
printf("%d ",array[i]);
}
return 0;
}
本文介绍了C++中的两种排序函数:sort()和qsort()。sort()用于对指定区间内的所有元素进行排序,而qsort()采用快速排序算法,需要用户自定义比较函数来确定排序顺序。在使用qsort()时,需要注意传递数组首地址、元素数量、元素大小以及比较函数指针。
6838

被折叠的 条评论
为什么被折叠?



