c++ 按照数组权值排序

发布时间:2019年08月20日 阅读:266 次

#include<cstdio>
#include<iostream>
#include<string>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;

typedef long long lli;
int data[5000];
inline bool cmp(int l,int r){
     for(int i=1;i<=10;i++){
       printf("%d ",data[i]);
    }
    printf("\n");
    return data[l]>data[r];

}
int main() {

    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>data[i];
    }
    vector<int>p;
    for(int i=1;i<=10;i++){
        p.push_back(i+20);
    }
        sort(p.begin(),p.end(),cmp);

    for(int oo:p){
        cout<<oo<<" ";
    }
    cout<<endl;
    for(int i=1;i<=n;i++){
       printf("%d ",data[i]);
    }
    printf("\n");

	return 0;
}

就跟普通的排序一样,只不过是权值由原来的数组本身的值,改为了data数组。

另外我貌似还发现了,这样似乎就能把sort的排序过程输出出来。

Tag:
相关文章

发表评论: