数据结构C语言第三版,邓文华编 习题3答案_数据结构c语言版习题

2020-02-27 其他范文 下载本文

数据结构C语言第三版,邓文华编 习题3答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据结构c语言版习题”。

习题3参考答案

3.1.选择题

(1).D(2).C(3).D(4).C(5).B(6).C(7).C(8).C(9).B(10).B(11).D(12).B(13).D(14).C(15).C(16).C(17).D(18).C(19).C(20).B 3.2.填空题

(1)FILO, FIFO(2)-1, 3 4 X * + 2 Y * 3 /-(3)stack.top, stack.s[stack.top]=x(4)p>llink->rlink=p->rlink, p->rlink->llink=p->rlink(5)(R-F+M)%M(6)top1+1==top2(7)F==R(8)front==rear(9)front==(rear+1)%n(10)N-1 3.3 答:一般线性表使用数组来表示的线性表一般有插入、删除、读取等对于任意元素的操作 而栈只是一种特殊的线性表

栈只能在线性表的一端插入(称为入栈,push)或者读取栈顶元素或者称为“弹出、出栈”(pop)。

3.4 答:相同点:栈和队列都是特殊的线性表,只在端点处进行插入,删除操作。

不同点:栈只在一端(栈顶)进行插入,删除操作;队列在一端(top)删除,一端(rear)插入。3.5 答:可能序列有14种:ABCD;ACBD;ACDB;ABDC;ADCB;BACD;BADC;BCAD;BCDA;BDCA;CBAD;CBDA;CDBA;DCBA。

3.6 答:不能得到4,3,5,6,1,2,最先出栈的是4,则按321的方式出,不可能得到1在2前的序列,可以得到1,3,5,4,2,6,按如下方式进行push(1), pop(), push(2), push(3), pop(), push(4), push(5), pop(), pop(), pop(), push(6), pop()。3.7 答:stack 3.8 非递归: int vonvert(int no,int a[])//将十进制数转换为2进制存放在a[],并返回位数 {

int r;

SeStack s,*p;

P=&s;

Init_stack(p);

while(no)

{

push(p,no%2);

no/=10;

}

r=0;

while(!empty_stack(p))

{

pop(p,a+r);

r++;

}

return r;} 递归算法: void convert(int no){

if(no/2>0)

{

Convert(no/2);

Printf(“%d”,no%2);

}

else

printf(“%d”,no);

} 3.9 参考程序:

void view(SeStack s){

SeStack *p;//假设栈元素为字符型

char c;

p=&s;

while(!empty_stack(p))

{

c=pop(p);

printf(“%c”,c);

}

printf(”n”);} 3.10 答:char 3.11 参考程序:

void out(linkqueue q){ int e;while(q.rear!=q.front){ dequeue(q,e);

print(e);//打印

}

}

嘿嘿,感谢吧,标准答案哦

《数据结构C语言第三版,邓文华编 习题3答案.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
数据结构C语言第三版,邓文华编 习题3答案
点击下载文档
相关专题 数据结构c语言版习题 数据结构 习题 第三版 数据结构c语言版习题 数据结构 习题 第三版
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文