排序
例题1
代码实现
参考实现
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,a[N];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
return 0;
}
import java.util.*;
public class Main {
static final int N=100010;
static int n;
static int[] a=new int[N];
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
for(int i=1;i<=n;i++) a[i]=sc.nextInt();
Arrays.sort(a,1,n+1);
for(int i=1;i<=n;i++) System.out.print(a[i]+" ");
}
}
import sys
input=sys.stdin.readline
n=int(input())
a=list(map(int,input().split()))
a.sort()
for x in a:
print(x,end=" ")
例题2
代码实现
参考实现
#include<bits/stdc++.h>
using namespace std;
int n,m,a[110];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
while(m--){
int l,r;
cin>>l>>r;
sort(a+l,a+r+1);
}
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
return 0;
}
import java.util.*;
public class Main {
static int n,m;
static int[] a=new int[110];
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
for(int i=1;i<=n;i++) a[i]=sc.nextInt();
while(m-->0){
int l=sc.nextInt();
int r=sc.nextInt();
Arrays.sort(a,l,r+1);
}
for(int i=1;i<=n;i++) System.out.print(a[i]+" ");
}
}
import sys
input=sys.stdin.readline
n,m=map(int,input().split())
a=[0]+list(map(int,input().split()))
for _ in range(m):
l,r=map(int,input().split())
a[l:r+1]=sorted(a[l:r+1])
for i in range(1,n+1):
print(a[i],end=" ")
例题3
代码实现
参考实现
#include<bits/stdc++.h>
using namespace std;
struct stu{
string name;
int score;
}a[30];
int n;
bool cmp(const stu &x,const stu &y){
if(x.score!=y.score) return x.score>y.score;
return x.name<y.name;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].score;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].name<<" "<<a[i].score<<"\n";
}
return 0;
}
import java.util.*;
public class Main {
static class Stu{
String name;
int score;
Stu(String name,int score){
this.name=name;
this.score=score;
}
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
Stu[] a=new Stu[n];
for(int i=0;i<n;i++){
String name=sc.next();
int score=sc.nextInt();
a[i]=new Stu(name,score);
}
Arrays.sort(a,(x,y)->{
if(x.score!=y.score) return y.score-x.score;
return x.name.compareTo(y.name);
});
for(Stu s:a){
System.out.println(s.name+" "+s.score);
}
}
}
n=int(input())
a=[]
for _ in range(n):
name,score=input().split()
score=int(score)
a.append((name,score))
a.sort(key=lambda x:(-x[1],x[0]))
for name,score in a:
print(name,score)