题意:
有一行盒子,从左到右编号为1~n,可执行4类命令。
命令有4类:
1). 1 X Y:将编号为X的盒子 放置在 编号为Y的盒子的 左边
2). 2 X Y:将编号为X的盒子 放置在编号为Y的盒子的 右边
3). 3 X Y:将编号为X的盒子 和 编号为Y的盒子 进行交换位置
4). 4 :将所有的盒子的编号进行反置(反转)
数据范围: 1<= n,m <= 10,0000
输入:
【最多输入10组数据,每组数据: 第一行包含2个数据:n,m (n代表n个盒子,m代表要执行m个指令),接着 输入m行,每行包含一种命令】
输出:
【每组测试数据输出 奇数位置的编号之和 . ( 位置是 从1~n,从左到右 ) 】
思路:
此题用数组实现肯定会超时,所以采用链表的思想进行位置更换,单链表实现命令4 很麻烦, 而采用双向链表来实现就非常之方便。