若栈采用链式存储且仅设头指针,则【 】时入栈和出栈操作最方便。
A、采用不含头结点的单链表且栈顶元素放在表尾结点
B、采用不含头结点的单链表且栈顶元素放在表头结点
C、采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点
D、采用含头结点的双向链表且栈顶元素放在表尾结点
若栈采用链式存储且仅设头指针,则【 】时入栈和出栈操作最方便。
A、采用不含头结点的单链表且栈顶元素放在表尾结点
B、采用不含头结点的单链表且栈顶元素放在表头结点
C、采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点
D、采用含头结点的双向链表且栈顶元素放在表尾结点
B
【解析】
栈的操作要求是后进先出,而且仅在表尾一端加入和删除元素。对单链表进行操作时,必须从头指针出发。根据栈的操作要求,单循环链表和双向链表都是没有必要的,而且选项C中将栈顶元素任意存放是错误的。
可以采用单链表作为栈的存储结构,将表头作为栈顶来使用。
算术表达式a*(b-c)+d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
对于一个初始为空的栈,其入栈序列为abc时,其出栈序列可以有【 】种。
算术表达式a+(b-c)*d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
若元素a、b、c、d、e、f依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是【 】。
设栈的输入序列为1,2,3,...,n,输出序列为a1,a2,a3,...,an,若存在1≤k≤n使得 ak=n,则当k≤i≤n时,ai 为【 】
栈的输入序列为1,2,3,...,n,输出序列为a1,a2,a3,...,an,若ai=n(1≤i≤n),则有 ak>ak+1>an。