vector-sort函数排序
#include<bits/stdc++.h>
using namespace std;
int main(){
vector<int> n={3,1,4,1,5,9,2,6};
sort(n.begin(),n.end());
cout<<"升序: ";
for(int i:n){
cout<<i<<" ";
}
sort(n.rbegin(),n.rend());
cout<<endl<<"降序: ";
for(int i:n){
cout<<i<<" ";
}
/*
for(int j=0;j<8;j++){
for(int i=j+1;i<8;i++){
if(n[j]>n[i]){
swap(n[j],n[i]);
}
}
}
cout<<"升序: ";
for(int i=0;i<8;i++){
cout<<n[i]<<" ";
}
cout<<endl<<"降序: ";
for(int i=7;i>=0;i--){
cout<<n[i]<<" ";
}
*/
return 0;
}
字符长度升序排序
#include<bits/stdc++.h>
using namespace std;
bool cmpLength(const string &a,const string &b){
return a.length()<b.length();
}
int main(){
vector<string> words={"apple","banana","abc","milk"};
sort(words.begin(),words.end(),cmpLength);
for(string i:words){
cout<<i<<" ";
}
return 0;
}
结构体学生成绩排序
#include<bits/stdc++.h>
using namespace std;
struct student{
string name;
int age;
int result;
};
bool cmpLength(const student &m,const student &n){
return m.result>n.result;
}
int main(){
vector<student> students={
{"a",90,13},
{"b",93,15},
{"c",89,11},
};
sort(students.begin(),students.end(),cmpLength);
for(student &s:students){
cout<<s.name<<" "<<s.age<<" "<<s.result<<endl;
}
return 0;
}

浙公网安备 33010602011771号