答案《数据结构》试卷..docVIP

  • 12
  • 0
  • 约6.23千字
  • 约 8页
  • 2017-02-02 发布于重庆
  • 举报
答案《数据结构》试卷.

任选5题((1,2),(3,4),(5,6),(7,8)中必须至少做一题),每题20分。 一、试设计一个双栈结构,它有两个端点end1和end2,满足从end1端插入的表目只能从end1端被删除,从end2端插入的表目只能从end2端被删除,并给出指定端i(i=1,2)的进栈push(S,e,i)和出栈pop(S,e,i)操作的算法描述。再设计一个算法,它能够将一个有限长度的数据序列a1,a2,…,an,按照下标奇偶序号交替的方式将ai (1≤i≤n)分别从两端入栈,然后将数据出栈以实现整个数据序列的倒排。 该双栈宜采用顺序存储、栈顶迎面增长的存储方式,其形式定义如下: #define STACK_SIZE 1000 typedef struct { SElemType base[STACK_SIZE]; SElemType *top[3]; //top[1]表示end1端的栈顶指针,top[2]表示end2端的栈顶指针 //初始值分别为base和base+STACK_SIZE-1 }DSqStack; 指定端i(i=1,2)的进栈push(S,e,i)和出栈pop(S,e,i)操作的算法描述如下: Status push(DSqStack S, SElemType e, int i) { if ( S.top[1]-S.top[2]==1 )

文档评论(0)

1亿VIP精品文档

相关文档