编程语言
首页 > 编程语言> > 顺序表应用3:元素位置互换之移位算法

顺序表应用3:元素位置互换之移位算法

作者:互联网

题目链接:https://acm.sdut.edu.cn/onlinejudge3/problems/3326

有点迷了,1e6在编译器上是过不了的,完全是溢出栈的,做的我有点懵,我觉的做题策略还是应该在杭电上;

这道题我感觉卡的也不是很严,我这个算法设计已经远远超出题目的空间复杂度(1)了;

无可厚非,我用了两个数组存的,最常见也是最笨的交换顺序的方法,(我还没有用STL)呢;

最后肯定是A了,但是题目我还是做的挺迷的,搞不明白这都能过????,我原本就是奔着不过的想法去的,

结果却超出我的预期;

还是老老实实刷hduoj吧;

Talk is cheap. Show me the code.

 1 #include<bits/stdc++.h>//这个没有很大的技巧,就是常见的先存什么在存什么的存法
 2 using namespace std;
 3 const int num=1e6+10;
 4 int n;
 5 int main()
 6 {
 7     std::ios::sync_with_stdio(false);
 8     cin.tie(0);
 9     cout.tie(0);
10     cin>>n;
11     int len,m;
12     int a[num];
13     int b[num];
14     int j;
15     while(n--)
16     {
17         memset(a,0,sizeof(a));
18         memset(b,0,sizeof(b));
19         cin>>len>>m;
20         for(register int i=0;i<len;i++)
21         cin>>a[i];
22         for(register int i=m;i<len;i++)
23         {
24             b[j]=a[i];
25             j++;
26         }
27         for(register int i=0;i<m;i++)
28         {
29             b[j]=a[i];
30             j++;
31         }
32         for(register int i=0;i<len;i++)
33         cout<<b[i]<<' ';
34         cout<<endl;
35     }
36     return 0;
37     
38 }

 

标签:题目,int,memset,cin,算法,num,互换,sizeof,移位
来源: https://www.cnblogs.com/LQS-blog/p/16225917.html