zoukankan      html  css  js  c++  java
  • UVA 120

    题意:

      就是给出n个数。然后是输出从第后面数第n1个开始,从数组元素的第一个开始到从后面数的第n1个元素反转,输出每次的n1,使数组最后是按升序排列的。

    分析:

      有点类似栈和队列的操作,但在这里可以用纯数组模拟出来。7 所在的位置从下往上数是 3 所以是flip(3);一直进行就好。最后经这些操作后使整个序列从上往下是递增的。即为升序排列。

    代码;

      

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    int A[32],B[32];
    int main()
    {
    int u=0;
    while(cin>>A[u])
    {
    B[u]=A[u];
    if(getchar()==' ')
    {
    u+=1;
    for(int i=0;i<u;++i)
    {
    if(i) cout<<" ";
    cout<<A[i];
    }
    cout<<endl;
    sort(B,B+u);
    for(int i=u-1;i>=0;--i)
    {
    for(int j=0;j<u;++j)
    {
    if(B[i]==A[j] && i!=j)
    {
    if(j==0)
    cout<<u-i<<" ";
    else
    cout<<u-j<<" "<<u-i<<" ";
                            int v=0,C[32];
    for(int k=i;k>j;--k)
    C[v++]=A[k];
    for(int k=0;k<=j;++k)
    C[v++]=A[k];
    for(int k=i+1;k<=u-1;++k)
    C[v++]=A[k];
    for(int k=0;k<v;++k)
    A[k]=C[k];
    break;
    }
    }
    }
    cout<<"0"<<endl;
    u=0;
    }
    else u++;
    }
    return 0;
    }
  • 相关阅读:
    剑指 Offer 46. 把数字翻译成字符串
    leedcode:27. 移除元素
    1052. 爱生气的书店老板(滑动窗口)
    剑指 Offer 56
    剑指 Offer 11. 旋转数组的最小数字(二分)
    1919年巴黎和会顾维钧英语演讲稿
    状语从句
    定语从句
    名词性从句
    并列句
  • 原文地址:https://www.cnblogs.com/137033036-wjl/p/4945549.html
Copyright © 2011-2022 走看看