数组排序

来源:互联网 发布:pp手机助手 mac 编辑:程序博客网 时间:2024/06/14 18:40

题目描述
输入一个数组的值,求出各个值从小到大排序后的次序。
输入描述:
输入有多组数据。
每组输入的第一个数为数组的长度n(1<=n<=10000),后面的数为数组中的值,以空格分割。
输出描述:
各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。
示例1
输入

4
-3 75 12 -3
输出

1 3 2 1

#include <iostream>using namespace std;void sort(int a[],int *n){    int i,j,t,temp;    for(i=1;i<*n;i++)        for(j=i+1;j<=*n;j++)    {        if(a[j]<a[i])        {            temp=a[i];            a[i]=a[j];            a[j]=temp;        }        if(a[j]==a[i])        {            for(t=j;t<*n;t++)            a[t]=a[t+1];            *n=*n-1;        }    }}int main(){    int n;    while(cin>>n)    {        int m=n;        int a[10000],i,j,b[10000];        for(i=1;i<=n;i++)        {            cin>>a[i];            b[i]=a[i];        }        sort(b,&n);        for(i=1;i<m;i++)            for (j=1;j<=n;j++)        {            if(a[i]==b[j])                cout<<j<<' ';        }        for(j=1;j<=n;j++)            if(a[i]==b[j])            cout<<j<<endl;    }    return 0;}
原创粉丝点击