数据结构—第三章栈和队列—栈—选择题
1栈和队列有什么相同点呢/有什么不同点呢?
栈和队列有着相同的逻辑结构,因为它们都是线性的,但它们的运算不同,栈是先进后出,队列是先进先出。
2向一个栈顶指针为top的链栈(不带头结点)中插入一个x结点,则执行:
链栈采用不带头结点的单链表表示时,进栈操作在首部插入一个结点x(即x->next=top,x=top),插入完后需将top指向该插入的结点x。
输出操作为:
x=top->data;top=top->next;
3若一个栈的输入序列是P1,P2,P3……Pn,输出序列是1,2,3,……,n,若P3=1,则P1的值是
分析如下:入栈序列是P1,P2,P3,输出序列为1,2,3,P3等于1,也就是说1是第三个入栈第1个出栈,此时P1P2已经按序进栈。根据后入先出的特点,P2必定在P1之前出栈,而第2个出栈元素就是2,说明P1不可能是2,因为P1前面还有P2没有出去。
4设栈的初始状态为空,当字符序列“n1_”,作为栈的输入时,输出长度为3,且可用做C语言标识符的序列有几个?
C语言标识符只能由数字,字母,下划线组成,并且首字母不能是数字。
有3个。