要求:
输入一个带“&”的字符串,判断“&”前和“&”后部分是否为逆串。
思路:
依次读入字符串中的每个字符,当未读到“&”时,将每个读入的字符入栈保存。读入“&”后与栈顶字符比较,若相同,则出栈继续读下一个字符直到读取所有符号,否则不满足要求,停止读取。 阅读全文
输入一个带“&”的字符串,判断“&”前和“&”后部分是否为逆串。
依次读入字符串中的每个字符,当未读到“&”时,将每个读入的字符入栈保存。读入“&”后与栈顶字符比较,若相同,则出栈继续读下一个字符直到读取所有符号,否则不满足要求,停止读取。 阅读全文
用数组模拟队列时,我们为了避免数据移动及假溢出而使用循环队列,即当插入数据已经位于数组尾部的下一个位置时,若数组头部有空闲空间,则插入到数组头部;删除时,若删除的元素位于数组尾部,则删除后将队首头移动到数组的头部。为了区分队空还是队满,我们还需要使用一个空闲元素。 阅读全文
前面已经讨论过链式栈的实现。与链式栈不同,顺序栈通过数组来描述栈,在数据读取时间上相比于链式栈有一些优势。我们在实际应用时要视情况选择适合的实现方式来实现栈。 阅读全文
已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。要求输出出列的过程和最后一个人的编号。 阅读全文