3 栈和队列答案.docVIP

  • 190
  • 0
  • 约8.62千字
  • 约 8页
  • 2017-01-13 发布于重庆
  • 举报
第3章 栈和队列 一、基础知识题 3.1 设将整数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种排列中,哪些序列是可以通过相应的入出栈操作得到的。 3.2 链栈中为何不设置头结点? 3.3 循环队列的优点是什么? 如何判别它的空和满? 3.4 设长度为n的链队用单循环链表表示,若设头指针,则入队出队操作的时间为何? 若只设尾指针呢? 3.5 指出下述程序段的功能是什么? (1) void Demo1(SeqStack *S){     int i; arr[64] ; n=0 ;     while ( StackEmpty(S)) arr[n++]=Pop(S);     for (i=0, i n; i++) Push(S, arr[i]);    } //Demo1 (2) SeqStack S1, S2, tmp;   DataType x;   ...//假设

文档评论(0)

1亿VIP精品文档

相关文档