一个有意思的问题,也许用顺序表或链表实现很简单,但是要用单纯的数组实现,逻辑关系却变得异常复杂。敢不敢来挑战一下
这里要求利用数组知识实现。仔细看输入和输出,就会大概知道做题框架,先定义两个操作,再调用,解决好输入和输出的关系,但实际写起来,头脑很乱。
谁能写出代码让我好好理一下拜托多一点注释噢?
如图不清,问题如下:
1、问题描述:
这里我们给线性表增加两个特殊的操作,第一个是‘R’ 操作,表示逆转整个表,如果表长为L,原来的第i个元素变成第L-i+1个元素。第二个操作是‘D’,表示删除表的第一个元素,如果表为空,则返回一个“error”信息。我们可以给出一系列的‘R’ 和‘D’组合,例如“RDD”表示先逆转表,然后删除最前面的两个元素。
本题的任务是给定表和一个操作串S,求出执行S后的表,如果中途出现‘D’操作于空表,输出“error”。
2、输入:
第一行是一个整数,表示有多少组数据。每组测试数据格式如下:
第二行是操作串S,有‘R’ 和‘D’组成,S的长度大于0,不超过100 000。
第三行是整数n,表示初始时表中的元素个数。n的值不小于0,不超过100 000。
第四行是包含n个元素的表,用‘[’ 和 ‘]’括起来,元素之间用逗号分开。各元素值在[1,100]之间。
3、输出:
对于每一组测试数据,输出执行S后的表(格式要求同输入)或者“error”
输入输出样例图中应该能看清,不赘述。
集思广益中,有点儿急。谢谢