网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

以不带头结点的单链表存储栈,设计初始化栈、判断栈是否为空、进栈和出栈等相应的算法。 要求:(1)使用类C语言描述算法; (2)添加必要的注释。


参考答案和解析
C
更多 “以不带头结点的单链表存储栈,设计初始化栈、判断栈是否为空、进栈和出栈等相应的算法。 要求:(1)使用类C语言描述算法; (2)添加必要的注释。” 相关考题
考题 设输入序列为1、2、3、4、5,依次执行进栈、进栈、进栈、出栈、进栈、进栈、出栈、出栈,则栈顶栈底分别是______。A.5和4B.4和3C.3和2D.2和1

考题 将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:Typedef struct{int top[2],bot[2]; //栈顶和栈底指针SElemType *V; //栈数组int m; //栈最大可容纳元素个数}DblStack

考题 设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法应对异常情况(入栈满等)给出相应的信息。

考题 如果以链表为栈的存储结构,则退栈操作是______。A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.刘栈不作任何判别

考题 如果以链表为栈的存储结构,则出栈操作是______。A.必须判别栈是否为满B.必须判别栈是否为空C.判别栈元素的类型D.对栈不作任何判别

考题 如果以链表为栈的存储结构,则出栈操作是______。A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对栈不作任何判别

考题 如果以链表作为栈的存储结构,则出栈操作时()。A.必须判别栈是否满B.必须判别栈是否为空C.必须判别栈元素类型D.可不做任何判断

考题 如果以链表作为栈的存储结构,则入栈操作时()。A.必须判别栈是否满B.必须判别栈是否为空C.必须判别栈元素类型D.可不做任何判断

考题 如果以链表作为栈的存储结构,则退栈操作时( )。A.必须判别栈是否满B.必须判别栈是否空C.判别栈元素的类型D.对栈不作任何的判别

考题 如果以链表作为栈的存储结构,则退栈操作时(55)。A.必须判别栈是否满B.对栈不作任何判别C.判别栈元素的类型D.必须判别栈是否空

考题 设有初始为空的栈S,对于入栈序列a b c d e f, 经由进栈、进栈、出栈、进栈、进栈、出栈的操作后,栈顶和栈底元素分别为( )。A.c和bB.b和aC.c和aD.d 和b

考题 若栈采用链式存储且仅设头指针,则( )时入栈和出栈操作最方便。A.采用不含头结点的单链表且栈顶元素放在表尾结点B.采用不含头结点的单链表且栈顶元素放在表头结点C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点D.采用含头结点的双向链表且栈顶元素放在表尾结点

考题 用链表作为栈的存储结构时,若要入栈操作成功,则(38)。A.必须先判断是否栈满B.必须先判断是否栈空C.必须先判断栈顶元素的类型D.必须成功申请到入栈元素所需结点

考题 用链表作为栈的存储结构时,若要入栈操作成功,则( )。A.必须先判断是否栈满 B.必须先判断是否栈空 C.必须先判断栈顶元素的类型 D.必须成功申请到入栈元素所需结点

考题 如果以链表作为栈的存储结构,则退链栈操作时()A.必须判断链栈是否满 B.判断链栈元素的类型 C.必须判断链栈是否空 D.对链栈不做任何判断

考题 栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。A.入栈和出栈操作都不需要遍历链表 B.入栈和出栈操作都需要遍历链表 C.入栈操作需要遍历链表而出栈操作不需要 D.入栈操作不需要遍历链表而出栈操作需要

考题 设有初始为空的栈S,对于入栈序列a、b、c,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),不能得到的序列为( ).A.abc B.acb C.cab D.Cba

考题 如果以链表作为栈的存储结构,则出栈操作时()A、必须判别栈是否满B、必须判别栈是否空C、必须判别栈元素类型D、队栈可不做任何判别

考题 以链表作为栈的存储结构,出栈操作必须判别栈空的情况。

考题 括号匹配算法中,扫描到左括号要进栈,扫描到右括号要()。A、出栈B、进栈C、不操作D、以上都不对

考题 如果以链表作为栈的存储结构,则退栈操作时()A、必须判别栈是否满B、判别栈元素的类型C、必须判别栈是否空D、对栈不作任何判别

考题 设用链表作为栈的存储结构则退栈操作()A、必须判别栈是否为满B、必须判别栈是否为空C、判别栈元素的类型D、对栈不作任何判别

考题 设将整数1,2,3,4依次进栈,但只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题: (1)若入、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Pop(),Push(4),Pop(),则出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈) (2)能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。 (3)请分析1,2,3,4的24种排列中,哪些序列是可以通过相应的入出栈操作得到的。

考题 单选题今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S的栈顶元素为()A fB cC aD b

考题 判断题以链表作为栈的存储结构,出栈操作必须判别栈空的情况。A 对B 错

考题 单选题括号匹配算法中,扫描到左括号要进栈,扫描到右括号要()。A 出栈B 进栈C 不操作D 以上都不对

考题 单选题如果以链表作为栈的存储结构,则退栈操作时()A 必须判别栈是否满B 判别栈元素的类型C 必须判别栈是否空D 对栈不作任何判别

考题 单选题如果以链表作为栈的存储结构,则出栈操作时()A 必须判别栈是否满B 必须判别栈是否空C 必须判别栈元素类型D 队栈可不做任何判别