杭电2020

来源:互联网 发布:淘宝店铺代销发货地址 编辑:程序博客网 时间:2024/05/02 01:11

主要的思路和“杭电2019”相似,找到应插入的地方,记录此处的下标,然后插入元素

#include<iostream>
using namespace std;
int main()
{
 int zhi(int a);
 int n;
 while(cin>>n&&n!=0)
 {
  int b,a[100],i,j;
  cin>>a[0];
  for(i=1;i<n;i++)
  {
   int k=i;
   cin>>b;
   for(j=0;j<i;j++)
   {
    if(zhi(b)>zhi(a[j]))//比较的是绝对值
    {
     k=j;
     break;
    }
   }
   for(j=i;j>k;j--)
   {
    a[j]=a[j-1];
   }
   a[k]=b;                  //插入的是数字原型
  }
  for(i=0;i<n-1;i++)
  cout<<a[i]<<' ';
  cout<<a[n-1]<<endl;
 }
}
int zhi(int a)
{
 if(a<0) return(-a);
 else return a;
}