编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。

  • A+

答案查询网公众号已于近期上线啦

除基本的文字搜题外,准备上线语音搜题和拍照搜题功能!微信关注公众号【答案查询网】或扫描下方二维码即可体验。

(1)【◆题库问题◆】:[问答题] 编写程序,将若干整数键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。

【◆参考答案◆】:编写C程序如下(已上机通过):全局变量及函数提前说明:---------------------------------#include#includetypedefstructliuyu{intdata;structliuyu*link;}test;liuyu*p,*q,*r,*head;intm=sizeof(test);voidmain()/*第一步,从键盘输入整数,不断添加到链表*/{inti;head=(test*)malloc(m);/*m=sizeof(test);*/p=head;i=0;while(i!=-9999){printf("/ninputaninteger[stopby’-9999’]:");scanf("%d",&i);p->data=i;/*inputdataissaved*/p->link=(test*)malloc(m);/*m=sizeof(test));*/q=p;p=p->link;}q->link=NULL;/*原先用p->link=NULL似乎太晚!*/p=head;i=0;/*统计链表结点的个数并打印出来*/while(p->link!=NULL){printf("%d",p->datA.;p=p->link;i++;}printf("
nodenumber=%d
",i-1);/*结点的个数不包括-9999*/}

(2)【◆题库问题◆】:[填空题] 写出下面算法的功能。voidfunction(Bitree*t){if(p!=NULL){function(p->lchild);function(p->rchild);printf(“%d”,p->data);}}

【◆参考答案◆】:二叉树后序遍历递归算法

(3)【◆题库问题◆】:[判断题] 集合与线性表的区别在于是否按关键字排序
A.正确
B.错误

【◆参考答案◆】:正确

(4)【◆题库问题◆】:[判断题] 当向一个最小堆插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。
A.正确
B.错误

【◆参考答案◆】:正确

(5)【◆题库问题◆】:[单选] 邻接表是图的一种()。
A.顺序存储结构
B.链式存储结构
C.索引存储结构
D.散列存储结构

【◆参考答案◆】:B

(6)【◆题库问题◆】:[判断题] 队列中允许进行删除的这一端叫队列的尾,允许进行插入的这一端叫队列的头。
A.正确
B.错误

【◆参考答案◆】:正确

(7)【◆题库问题◆】:[名词解释] 简单路径

【◆参考答案◆】:
在用一个顶点序列表示一条路径时,若序列中没有相同的顶点重复出现,则称其为简单路径。

(8)【◆题库问题◆】:[判断题] 有回路的有向图不能完成拓扑排序。
A.正确
B.错误

【◆参考答案◆】:正确

(9)【◆题库问题◆】:[判断题] 距阵中的数据元素可以是不同的数据类型。
A.正确
B.错误

【◆参考答案◆】:正确

(10)【◆题库问题◆】:[问答题] 为什么说栈是一种后进先出表?

【◆参考答案◆】:
栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表(LIFO--LastINFirstOut表)。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: