zoukankan      html  css  js  c++  java
  • 构造原始数列 有道2017测试开发工程师编程题

     1 #include <iostream>
     2 #include <vector>
     3 #include <deque>
     4 #include <queue>
     5 using namespace std;
     6 
     7 // 2 1 3
     8 // 1 3 2,输出1
     9 // 3 2
    10 // 2 3,输出2
    11 // 3
    12 // 3,输出3
    13 // 逆向过程:
    14 // 3
    15 // 3
    16 // 2 3,把2插到队头
    17 // 3 2,把队尾3插到队头
    18 // 1 3 2,把1插到队头
    19 // 2 1 3,把队尾2插到队头
    20 // 通过观察就是:
    21 // k从n~1,依次进行:把k插到队头,把队尾元素插到队头
    22 
    23 //得到顺序序列的过程是:
    24 //1、队头pop出来,push进队尾
    25 //2、队头pop出来,打印结果
    26 //举例:
    27 //2 1 3,输入
    28 //1 3 2,队头2pop出来插入队尾
    29 //打印1,队头1pop出来,打印1
    30 //3 2
    31 //2 3,队头3pop出来插入队尾
    32 //打印2,队头2pop出来,打印2
    33 //3
    34 //3,队头3pop出来插入队尾
    35 //打印3,队头3pop出来,打印3
    36 //队列为空,处理完毕
    37 
    38 //逆向过程:从n~1依次做如下处理
    39 //1、push元素进队头
    40 //2、队尾元素pop出来,push进队头
    41 //举例:
    42 //3,push3进队头
    43 //3,队尾3pop出来,push3进队头
    44 //23,push2进队头
    45 //32,队尾3pop出来,push3进队头
    46 //132,push1进队头
    47 //213,队尾2pop出来,push2进队头
    48 //处理完毕
    49 
    50 int main()
    51 {
    52   int t;
    53   cin >> t;
    54 
    55   // queue<int> num;
    56   // while (t--)
    57   // {
    58   //   int temp;
    59   //   cin >> temp;
    60   //   num.push(temp);
    61   // }
    62   while (t--)
    63   {
    64     // while (!num.empty())
    65     // {
    66     // int n;
    67     // n = num.front();
    68     // num.pop();
    69 
    70     int n;
    71     cin >> n;
    72     deque<int> q;
    73     for (int i = n; i > 0; i--)
    74     {
    75       q.push_front(i);
    76       int x = q.back();
    77       q.pop_back();
    78       q.push_front(x);
    79     }
    80     for (int i = 0; i < n - 1; i++)
    81     {
    82       cout << q[i] << " ";
    83     }
    84     cout << q[n - 1];
    85     cout << endl;
    86     
    87     // }
    88   }
    89 }
  • 相关阅读:
    DotNetNuke 5 C#版本解读之1--架构介绍
    关于加入外包公司
    《深入浅出WPF》视频列表
    倒序输出字符串
    C#基础—— check、lock、using语句归纳
    Asp.net页面之间传递参数的几种方法
    sual C#中编写多线程程序之起步
    Head.First.ObjectOriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)
    索引分类
    表单提交中Get和Post方式的区别
  • 原文地址:https://www.cnblogs.com/hslzju/p/5783260.html
Copyright © 2011-2022 走看看