试题详情
- 简答题编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。
-
编写C程序如下(已上机通过):
全局变量及函数提前说明:
---------------------------------
#include
#include
typedefstructliuyu{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("/nnodenumber=%d/n",i-1);/*结点的个数不包括-9999*/
} 关注下方微信公众号,在线模考后查看
热门试题
- 简述插入排序、选择排序、交换排序、归并排
- 已知某森林的二叉树如下所示,试画出它所表
- 除s本身之外,s的其它子串称为s的真子串
- 进制转换算法中,除余得到的数存到栈中,先
- 对于任意一个图,从它的某个结点进行一次深
- 线性表采用链接存储时,其地址()。
- 下列算法将单链表中值重复的结点删除,使
- 非空的单循环链表的头指针为head,尾指
- 从具有n个结点的二叉排序树中查找一个元素
- 一棵有n个叶结点的哈夫曼树,则该树共有(
- 哈夫曼树的总结点个数(多于1时)不能为偶
- 设一维数组中有n个数组元素,则读取第i个
- 算法的存储量高低用()来衡量。
- 不存在拓扑序列的()是图中存在回路。
- 快速排序和归并排序在最坏情况下的比较次数
- ()不含任何结点的空树。
- 有8个结点的无向连通图最少有()条边。
- 根据先序序列ABDC和中序序列DBAC确
- 画出含三个结点的无序树。
- 数据结构里,值传递与地址传递参数的类型是