排序(对于 sort 函数的使用)

很多代码的题目解释都在洛谷上

sort的基本使用

#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对于结构体的使用

//对结构体进行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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!