排序问题

来源:互联网 发布:策略模式 java示例 编辑:程序博客网 时间:2024/06/06 20:05

Problem Description
输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。
Input
输入数据有一行,包含10个整数,用空格分开。
Output
输出数据有两行,第一行为排序后的序列,第二行为排序后各个元素在原来序列中的位置。
Example Input
1 2 3 5 4 6 8 9 10 7
Example Output
1 2 3 4 5 6 7 8 9 10
1 2 3 5 4 6 10 7 8 9

#include <iostream>#include <math.h>#include <cstdio>#include <cstring>#include <algorithm>#include <iomanip>using namespace std;int a[10010];int b[10010];int main(){    int x;    for(int i = 1; i <= 10; i++)    {        cin>>x;        a[i] = x;        b[x] = i;//存位置    }    sort(a, a+11);    for(int i = 1; i <= 10; i++)    {        if(i == 1)            cout<<a[1];        else            cout<<" "<<a[i];    }    cout<<endl;    for(int i = 1; i <= 10; i++)    {        if(i == 1)            cout<<b[a[i]];//整数不一定是1到10的每一个        else            cout<<" "<<b[a[i]];    }    cout<<endl;    return 0;}
原创粉丝点击