sort :
首先要有<algorithm>
其次Sort函数有三个参数: (1)第一个是要排序的数组的起始地址。 (2)第二个是结束的地址(最后一位要排序的地址) (3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10] = {9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
sort(a,a+10);
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
如果是要从大到小排列呢?
#include<iostream>
#include<algorithm>
using namespace std;
bool complare(int a,int b){ //这里函数是int也可以哦
return a>b;
}
int main(){
int a[10] = {9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
sort(a,a+10,complare);
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
发现一个比较困惑的小问题,如果把complare函数放在main函数之后,dev c++会报出找不到函数的问题,所以把他放到前面去。
然后.......还有一种更简单的办法
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10] = {9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
sort(a,a+10,less<int>()); //less的意思就是从小到大排序
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
当然,还有从大到小的
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[10] = {9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
sort(a,a+10,greater<int>());
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
还可以对char类型排序哦
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
char a[11] = "asdfghiklk";
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
sort(a,a+10,greater<char>());
for(int i=0;i<10;i++){
cout<<a[i]<<endl;
}
return 0;
}
qsort:
首先要有<stdlib.h>
qsort函数需要指针,,嗯,,,目前不想看,,如果需要,日后再补上吧。。