qsort()定义在头文件<stdlib.h>中:
_CRTIMP void __cdecl qsort (void*, size_t, size_t, int (*)(const void*, const void*))
qsort(数组名,元素个数,每个元素占用的空间(sizeof),比较函数),其中比较函数是自己写的函数,遵循int com(const void *a,const void *b)的格式。当a、b关系为 >  <  = 时,分别返回正值 负值 零(或者相反)。使用const void*而不是char*的原因是为了可以对非字符串类型的数值进行排序。具体实例如下:

int  nn[ 100 ],n = 100 ;
int  com( const   void   * a, const   void   * b)
{
    
return *(int*)a-*(int*)b;
}
    

qsort((
void   * )nn,n, sizeof ( int ),com);

注意:缺省是升序排序,可以通过函数com改变排序顺序。

sort()定义在在头文件<algorithm>中。
template<typename _RandomAccessIterator>
void __insertion_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
sort函数是标准模板库的函数,已知开始和结束的地址即可进行排序,可以用于比较任何容器(必须满足随机迭代器),任何元素,任何条件,执行速度一般比qsort要快。具体事例如下:

char  ch[ 20 ] = " sdasdacsdasdas " ;

cout
<< ch << endl;
sort(ch,ch
+ 14 );
cout
<< ch << endl;

注意:缺省是升序排序。sort中一个改变排序顺序的例子如下:

#include  < iostream >
#include 
< algorithm >

using   namespace  std;

bool  cmp ( const   int  a,  const   int  b)
{
    
return a > b;
}


int  main()
{
    
int data[5];

    
for(int i = 0; i < 5; i++)
        cin 
>> data[i];

    sort(data, data 
+ 5, cmp);

    
return 0;
}