一、选择题
1、下列叙述中正确的是______。
A.栈是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
2、支持子程序调用的数据结构是______。
A.栈 B.树 C.队列 D.二叉树
3、某二叉树有5个度为2的节点,则该二叉树中的叶子节点数是______。
A.10 B.8 C.6 D.4
4、下列排序方法中,最坏情况下比较次数最少的是______。
A.冒泡排序 B.简单选择排序 & ……此处隐藏25710个字…… /p>
43、double fun(STREC*h)
{
double ave=0.0;
STREC*p=h->next;
while(p!=NULL)
{ave=ave+p->s;
p=p->next;
}
return ave/N;
}
[解析]
题目要求求链表中数据域的平均值,应首先使用循环语句遍历链表,求各节点数据域中数值的和,再对和求平均分。遍历链表时应定义一个指向节点的指针p,因为“头节点”中没有数值,所以程序中让p直接指向“头节点”的下一个节点,使用语句STREC*p=h->next。
[考点]
本题考查:链表的操作,对链表的主要操作有以下几种:建立链表、结构的查找与输出、插入一个节点、删除一个节点。