排序(對於 sort 函式的使用)

Stephen_X_x發表於2019-05-11

很多程式碼的題目解釋都在洛谷上

#include<cstdio>
#include<iostream>
#include<algorithm> 
using namespace std;
long long n,a[100000+10];//話說一開始陣列開小了來著,flag*_* 
int main()
{

    cin>>n;
    for(int i=1;i<=n;i++)
      scanf("%ld",&a[i]);
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++)
      cout<<a[i]<<" ";
} 
//對結構體進行sort排序

//輸入n(n<=10000)個人的學號與成績,按成績由大到小排序輸出,相同按學號由小到大輸出

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
using namespace std;
////////////////////////////
int n;
struct file
{
    int xh,cj;
}x[10010];
////////////////////////////
bool comp(const file &A,const file &B)
{
    if(A.cj==B.cj)
      return A.xh<B.xh;
    return A.cj>B.cj;
}
////////////////////////////
int main()
{
    freopen("2.txt","r",stdin);
    cin>>n;
    for(int i=1;i<=n;i++)
      cin>>x[i].xh>>x[i].cj;
    sort(x+1,x+1+n,comp);
    for(int i=1;i<=n;i++)
      cout<<x[i].xh<<" "<<x[i].cj<<endl;
} 
#include<cstdio>
#include<iostream>
using namespace std;
int n,a[1000000];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
      scanf("%d",&a[i]); 
    for(int i=1;i<=n-1;i++)
      for(int j=1;j<=n-1;j++)
        if(a[j]>a[j+1])
          swap(a[j],a[j+1]);
    for(int i=1;i<=n;i++)
      cout<<a[i]<<" ";
 } 

未完待續

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章