首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。 例如:链表初始
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。 假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。 例如:链表初始
admin
2009-02-15
115
问题
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。
例如:链表初始元素为:
(7, 10,10,21,30,42,42,42,51,70)
经算法操作后变为:
(7,10,21,30,42,51,70)
【函数3.1】
void deleteklist(LinkList head)
{
LinkNode * p, * q;
p=head->next;
while(p!=head)
{
q=p->next;
while((1))
{
(2);
free(q);
q=p->next;
}
p=p->next;
}
}
【说明3.2】
已知一棵完全二叉树存放于一个一维数组T[n]中,T[n]中存放的是各结点的值。下面的程序的功能是:从T[0]开始顺序读出各结点的值,建立该二叉树的二叉链表表示。
【函数3.2】
#include<istream.h>
typedef struct node {
int data;
stuct node leftChild, rightchild;
} BintreeNode;
typedef BintreeNode * BinaryTree;
void ConstrncTree(int T[], int n, int i, BintreeNode * &ptr)
if(i>=n)(3); /*置根指针为空*/
else
{
ptr=-(BTNode * )malloc(sizeof(BTNode) )
ptr->data=T
;
ConstrucTree(T,n,2, i+1, (4));
ConstrucTree(T,n,(5),ptr->rightchild);
}
}
main(void)
{ /*根据顺序存储结构建立二叉链表*/
Binarytree bitree;int n;
printf("please enter the number of node: \n%s" ;n);
int* A = (int *) malloc(n * sizeof(int));
for(int i=0;i<n;i++)scanf(" %d,A+i); /*从键盘输入结点值*/
for(int i=0;i<n;i++)printf(" %d",A
);
ConstructTree(A, n,0, bitree);
}
选项
答案
(1)q!= head &&q->data==p->data (2)p->next=q->next (3)ptr=NULL (4)ptr->leftchild (5)2*i+2
解析
这一题共有两个程序,第一个函数是考查链表操作,第二个程序是使用递归法创建链式存储的二叉树。
先看第一个函数。这个函数由于while循环实现对链表的遍历,在这个while循环中又嵌套着一个while循环,内循环实现了删除相同元素的功能。由说明和程序可知,p指针指向当前遍历结点,q指向当前结点的后继结点,如果这两个结点的数据域相等,则将其删除。这个循环何时结束呢?显然,当这两个结点的数据域不相等时要结束,或者当 q指向链表头结时,整个链表已经遍历完了也要结束,因此(1)空处应填写“q!=head && q->data==p->data”或其等价形式。如果指针P和指针q所指的结点的数据域相等,则要将指针q所指的结点删除,从内存中释放空间必须要使指针q所指的结点的后继结点接到指针p所指的结点后,因此(2)空处应填写“p->next=q->next”。
再来分析第二个程序。该程序由两个函数组成,函数main()实现数据输入,函数ConstrueTree(int T[], int n, int i, BintreeNode * &ptr)用于建立二叉链表。根据(3)空所在语句的注释,很容易填写。当i>=n时,就说明二叉树不存这个结点,即将根指针置空,因此(3)空应填写“ptr=NULL”,当i<n时,先生成一个结点,将数组T[]第i个元素数据填入该结点,建立结点的左子树和右子树。根据完全二叉树的顺序存储的定义,可以第i个元素左子树根结点为2*i+1,右子树的根结点为2 *i+2。因此第一条递归调用是建立左子树,第二条递归调用是建立右子树。因此(4)空应填写“ptr->leftchild”,(5)空应填写“2*i+2”。
转载请注明原文地址:https://kaotiyun.com/show/aEjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
为查看Windows系统当前正在运行哪些应用程序或进程,可用(43)组合键实现。
以下文件类型中,除__________外,都属于可执行文件。
如果已知一个Excel表格B1单元格是空格,B2单元格的内容为数值2,B3单元格的内容为数值3,B4单元格的内容为数值4.5,B5单元格的内容为数值5.5,B6单元格的内容为“=COUNT(B1:B5)”,那么,B6单元格显示的内容应为(55)。
社会问卷调查是一种常见的调查方法。设计问卷的注意事项中不包括(31)。
信息处理组长感到日常的信息处理工作效率不高,而且容易出错。为解决这个问题,一般来说,应重点采取的技术措施是()。
在Word2007中,字符样式应用于__________。
信息处理技术员资格考试的试卷包括信息处理基础知识、计算机基础知识、法律法规知识、专业英语、办公软件使用技能五个方面。某次考试后,对这五个方面分别统计了各考生的得分率以及全国的平均得分率。为了直观展现每个考生在各个方面的水平以及该考生的整体水平,并与全国平均
为向相关人员以可视化方式展示数据分析结果,首先需要明确目标受众(即需要给哪些人看),并了解他们考虑的一些问题。这些问题一般不包括(69)________________。
PowerPoint可以通过插入(55)来完成统计、计算等功能。
随机试题
哪项不是使用阿朴吗啡的禁忌证?
教师从提高学生认识人手,循循善诱的以理服人,调动学生的主动性,引导学生积极向上。这一教育过程遵循的德育原则是()。
吴某与钱某有矛盾,一直伺机教训钱某。有一天,吴某在路上遇到钱某,便上前辱骂。钱某转身想走,吴某便追骂钱某,钱某愤怒至极,扑上去打吴某,吴某大声说:“是你先动手的,我是被迫还手的。”突然拿出身上的一把水果刀,将钱某刺成重伤。如果钱某到公安机关控告吴某,公
A、B、C三支施工队在王庄和李庄修路,王庄要修路900米,李庄要修路1250米。已知A、B、C队每天分别能修路24米、30米、32米,A、C队分别在王庄和李庄修路,B队先在王庄,施工若干天后转到李庄,两地工程同时开始同时结束。问B队在王庄工作了几天?
根据下表,回答96-100题。下列说法与资料相符的是:
“自行车被他给骑走了”中“给”的词性是()。
马克思主义重视革命的伟大作用,认为“革命是历史的火车头”。社会革命的根源在于
Americans’prideandfaithoftheireconomicsystem,【C1】______thatitprovidesopportunitiesforallcitizenstohavegoodlives
Theoldmantookagreat______incollectingstamps.
CharacterAnalysisI.DifferentTypesof【T1】______Protagonistsand【T2】______Majorandminorcharacters—Foils
最新回复
(
0
)