如果入栈序列为ABCD,不可能出现的出栈序列是【 】
A、ABCD
B、DABC
C、ACDB
D、DCBA
如果入栈序列为ABCD,不可能出现的出栈序列是【 】
A、ABCD
B、DABC
C、ACDB
D、DCBA
B
假设有两个按元素值递增有序排列的线性表A和B,均以带头结点的单链表作为存储结构,编写算法将A表和B表归并成一个按元素值递减有序排列的线性表C,并要求利用原表(A表和B表)的结点空间存放表C。
试写出在双向链表da中的插入操作算法,算法中插入位置的获取可直接引入getnodep(da,i),其中参数da为双向链表,i是要插入的数据,要求算法中含有双向链表da的结点结构描述。
已知结点指针p、q分别表示双向链表中任意两个相邻结点(即p->rlink=q且q->llink=p),请写出删除q所指结点的程序段。
线性表选用顺序存储结构表示的适用场合是____________________。
算术表达式a+b-c*d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
三个互异的元素a、b、c依次经过一个初始为空的栈后,可以得到【 】种出栈序列。
设有初始为空的栈S,对于入栈序列a、b、c、d,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),以c作为第一个出栈的元素时,不能得到的序列为【 】。
设元素a、b、c、d依次进入一个初始为空的栈,则不可能通过合法的栈操作序列得到【 】。
表达式可采用后缀形式表示。例如,“a+b”的后缀式为“ab+”。那么,表达式“a*(b-c)+d”的后缀表示为【 】
对于一个初始为空的栈,其入栈序列为 1,2,3,...,n(n>3),若出栈序列的第一个元素是1则出栈序列的第n个元素【 】
对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈序列的第一个元素为d,则合法的出栈序列为【 】。
若栈采用链式存储且仅设头指针,则【 】时入栈和出栈操作最方便。
如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是【 】。
算术表达式a+(b-c)*d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
若元素a、b、c、d、e、f依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是【 】。
一个栈的入栈序列是A,B,C,D,E,则栈的不可能的输出序列是【】
对于一个初始为空的栈,其入栈序列为abc时,其出栈序列可以有【 】种。
对于一个初始为空的栈,其入栈序列为abc时,其出栈序列可以有【 】种。