以下程序段用以统计链表中元素的个数。其中first指向链表第一个结点,count用来统计结点个数。请填
以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表带头结点)。请在下划线内填入正确内容。 struct link { char data; struct link*next;}; … struct link*p,*first; int c=0; p=first; while(【 】) { c++; p=【 】;}
以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零) include<stdio.h> main(){ FILE*fp; longnum=0: fp=fopen(fname.dat,r); while(________){ fgetc(fp);num++;) printf(num=%din,num); fclose(fp);) 下面选项中,填入横线处不能得到正确结果的是
A.feof(fp)
B.reot(rp)=NULL
C.!feof(fp)
D.feof(fp)=0
以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填 main() { int i,a[20],sum,count; sum=count=【 】 ; for(i=0;i<20;i++)scanf("%d("%d",【 】 ); for(i=0;i<20;i++) { if(a[i]>0) {count++; sum+=【 】; } } printf("sum=%d,count=%d\n",sum,count); }
1的结点个数。
(2)统计二叉树中度为2的结点个数。
(3)统计二叉树中度为0(叶结点)的结点个数。
(4)统计二叉树的深度。
(5)统计二叉树的宽度,即在二叉树的各层上,具有结点数最多的那一层上结点总数。
(6)从二叉树中删去所有叶结点。
(7)计算二叉树中指定结点*p所在层次。
(8)计算二叉树中各结点中的最大元素的值。
(9)以前序次序输出一棵二叉树所有结点的数据值及结点所在的层次。
针对带附加头结点的单链表,试编写下列函数。
(1)定位函数Locate:在单链表中寻找第i个结点。若找到,则函数返回第i个结点的地址;若找不到,则函数返回NULL。
(2)求最大值函数max:通过一趟遍历在单链表中确定值最大的结点,
(3)统计函数number:统计单链表中具有给定值x的所有元素,
(4)建立函数create:根据一维数组aLn]建立一个单链表,使单链表中各元素的次序与a[n]中各元素的次序相同,要求该程序的时间复杂度为O(n)。
(5)整理函数tidyup:在非逆减有序的单链表中删除值相同的多余结点。
在以下有关静态链表的叙述中错误的是()。
(1)静态链表既有顺序存储的优点,又有链接存储的优点。所以,它存取表中第i个元素的时间与i无关
(2)静态链表中可容纳元素个数的最大数目在定义时就确定了,以后不能增加
(3)静态链表与动态链表在元素的插人、删除上类似,不需做元素的移动
A、(1)、(2)
B、(1)
C、(1)、(2)、(3)
D、(2)