数据结构知识点总结(五)

1、堆栈为空(顺序、链式)和满(顺序存储)的判定条件。

1)对于单链表:

1)带头节点链表判空条件:

        head->next=NULL

2)不带头节点链表判空条件

        head=NULL

3)对于循环链表判空条件

        head->next=head

4)对于双链表判空条件

       head->next=head->prior=head

2

1)顺序栈判空条件

      s.top==s.base

2)链式栈判空条件

      s.next=s.bottom

3)顺序栈满判定条件

      s.top-s.base==s.stacksize

2、判断下列说法是否正确。

(1)空栈就是所有元素都为0的栈。 

(2) 不管堆栈采用何种存储结构,只要不为空,就可以任意的删除数据元素。

(3)  c语言中设顺序栈的长度为 MAXLEN ,则 top = MAXLEN 时表示栈满。 

参考答案:(1×   (2×    (3 ×    

3、设用一维数组元素 a[1]-a[n]存储一个栈,令 a[n]为栈底,用整型变量 t 指示当前栈顶位置, a[t]为栈顶元素。当从栈中弹出一个元素时,变量 t 的变化为(  )。 

At=t + 1            Bt=t-1              C. t 不变               D t=n

参考答案: A    

4、有 6 个元素按 6  5  4  3  2  1 的顺序进栈,进栈过程中可以出栈,则以下可能的出栈序列是(  )。

A . 1  4  3  5  2  6             B . 6  5  4  3  2  l

C . 3  l  4  2  6  5              D . 3  6  5  4  2  l

参考答案: B  

5、以下叙述中错误的是(  )。 

A.栈是限制存取操作只能在一端进行的线性表 

B.消除递归不是必须使用栈 

C.对同一组输入序列进行合法的入、出栈操作,得到的输出序列一定相同 

D.实现递归必定使用工作栈 

参考答案: C   

6、以下不属于栈的基本运算的是(  )。 

A.删除栈顶元素       B.删除栈底元素       C.判断栈是否为空       D.将栈置为空栈 

参考答案:B

7、若以链表作为栈的存储结构,则退栈操作时(  )。 

A.必须判别栈是否满                         B.必须判别栈元素的类型 

C.必须判别栈是否空                         D.不用作任何判别 

参考答案: C

8、在链队列中,假定frontrear分别为队首和队尾指针,则删除一个结点的操作为___

Afront= fornt->next                  Brear= rear->next

Crear=front->next                   Dfront=rear->next

参考答案: A

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=345

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值