题目1167:数组排序

题目1167:数组排序_第1张图片
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
//1167
struct Node{
    int preP;
    int v;
    int postP;
};
bool cmp1(Node a,Node b){
    return a.v v;
int k,n;
int main(){
    //freopen("input.txt","r",stdin);
    while(scanf("%d",&n)!=EOF){
        v.clear();
        Node t;
        for(int i=1;i<=n;i++){
            scanf("%d",&t.v);t.postP=-1,t.preP=i;
            v.push_back(t);
        }
        sort(v.begin(),v.end(),cmp1);
        k=1;
        v[0].postP=k;
        for(int i=1;iv[i-1].v) v[i].postP=++k;
            else    v[i].postP=k;
        }
        sort(v.begin(),v.end(),cmp2);
        for(int i=0;i

你可能感兴趣的:(九度OJ)