关于函数sort()和qsort()的讲解!

sort()和qsort(),顾名思义,就是排序函数!!!目的就是简化程序,
是程序看起来更加规范实用!!!呵呵!!
1)sort()

在使用sort()函数的时候在前面加上#include<algorithm>头文件!
升序发排序:
int a[10];
sort(a,a+10);
例子如下:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
 int i;
 int a[10];
 for(i=0;i<10;i++)
  cin>>a[i];
  sort(a,a+10);
    for(i=0;i<10;i++)
  cout<<a[i]<<' ';
 cout<<endl;

 return 0;
}
 
降序发排序:
降序发排序的时候,你需要自己写一个小函数!!!呵呵!!
char[10];
sort(a,a+10,greater)
例子如下:
#include<iostream>
#include<algorithm>
using namespace std;
bool greater(const int &a, const int &b)
{
   return a > b ;
}
int main()
{
 int i;
 int a[10];
 for(i=0;i<10;i++)
  cin>>a[i];
  sort(a,a+10,greater);
    for(i=0;i<10;i++)
  cout<<a[i]<<' ';
 cout<<endl;

 return 0;
}

 

2)qsort()
在使用qsort()函数的时候在前面加上#include<algorithm>头文件
int a[10];
qsort(a,10,sizeof(int),greater)
降序法排序
#include<iostream>
#include<algorithm>
using namespace std;
int greater(const void *a,const void *b)
{
 return *(int*)b-*(int*)a;
}
int main()
{
 int i;
 int a[10];
 for(i=0;i<10;i++)
  cin>>a[i];
  qsort(a,10,sizeof(int),greater);
    for(i=0;i<10;i++)
  cout<<a[i]<<' ';
 cout<<endl;

 return 0;
}
 
升序法排序
#include<iostream>
#include<algorithm>
using namespace std;
int greater(const void *a,const void *b)
{
 return *(int*)a-*(int*)b;
}
int main()
{
 int i;
 int a[10];
 for(i=0;i<10;i++)
  cin>>a[i];
  qsort(a,10,sizeof(int),greater);
    for(i=0;i<10;i++)
  cout<<a[i]<<' ';
 cout<<endl;

 return 0;
}
 

 

posted on 2012-11-05 15:07  @ 小浩  阅读(676)  评论(0编辑  收藏  举报