排序
用了c++内部基于快速排序的函数sort。sort(first,last,comp),comp为排序方式,默认为升序。
代码实现
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n;cin>>n;
int num[n];
for(int i=0;i<n;i++) cin>>num[i];
sort(num, num+n);
for(int i=0;i<n;i++) cout<<num[i]<<" ";
}
成绩排序1
定义了一个结构体strudent,包括两个整型变量。
遇到一组基本类型数据据时,要学会将其封装为一个结构体或者类。
定义了比较函数cmp
代码实现
#include<iostream>
using namespace std;
#include<algorithm>
struct student{
int id;
int score;
};
bool cmp(student a,student b){
if(a.score==b.score) return a.id<b.id;
else return a.score<b.score;
}
student stu[105];
int main(){
int n;cin>>n;
for(int i=0;i<n;i++) cin>>stu[i].id>>stu[i].score;
sort(stu,stu+n,cmp);
for(int i=0;i<n;i++) cout<<stu[i].id<<" "<<stu[i].score<<endl;
}
成绩排序2
代码实现
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
struct student{
string username;
int score;
int order;
};
bool cmp1(student a,student b){
if(a.score==b.score){
return a.order<b.order;
}
else return a.score<b.score;
}
bool cmp2(student a,student b){
if(a.score==b.score){
return a.order<b.order;
}
else return a.score>b.score;
}
int main(){
int n,flag;
while(cin>>n>>flag){
student stu[n];
for(int i=0;i<n;i++) {
cin>>stu[i].username>>stu[i].score;
stu[i].order=i;
}
if(flag) sort(stu,stu+n,cmp1);
else sort(stu, stu+n,cmp2);
for(int i=0;i<n;i++) cout<<stu[i].username<<" "<<stu[i].score<<endl;
}
}
找x
代码实现
#include<iostream>
using namespace std;
int main(){
int n;cin>>n;
int num[205];
for(int i=0;i<n;i++) cin>>num[i];
int x;cin>>x;
int index=-1;
for(int i=0;i<n;i++){
if(num[i]==x){
index=i;
break;
}
}
cout<<index;
}
查找
代码实现
#include<iostream>
using namespace std;
int main(){
int n,m;
int a[105],b[105];
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
cin>>m;
for(int i=0;i<m;i++) cin>>b[i];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(b[i]==a[j]){
cout<<"YES"<<endl;
break;
}
else if(j==n-1) cout<<"NO"<<endl;
}
}
}