首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也
admin
2021-02-25
24
问题
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdio.h>
#define N 8
typedef struct lisl
{int data;
struct list*next:
}SLIST:
void fun(SLlST*h)
{
SLIST*p,*q;
p=h一>next:
if(P!=NULL)
q=p一>next:
while(q!=NULL)
{if(p->data==q一>data)
{P一>next=q一>next;
/* * * * * *found* * * * * */
free(
1
):
/* * * * * *found* * * * * */
q=P一>
2
:
}else
{P=q;
/* * * * * *found* * * * * */
q=q一>
3
;}
}
}
}
}
SLIST*creatlist(int*a)
{
SLIST*h,*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)
{
q=(SLIST*)malloc(sizeof(SLIST));
q=>data=a
;p一>next=q;p=q;
}
p一>next=0;
return h;
}
void outlist(SLIST*h)
{SLIST*P;
P=h一>next:
if(P==NULL)
printf("The list is NULL! \n");
else
{printf("\nHead");
do{
printf("一>%d",p一>data);
P=P一>next;
} while(P!=NULL);
printf("一>End\n");
}
}
main()
{
SLIST*head:
int a{N]={1,2,2,3,4,4,4,5);
head=creatlist(a):
printf("The list before deleting:\n");
outlist(}ead);
fun(head);
printf("The list after deleting:\n");
outlist(head);
}
选项
答案
(1)q (2)next (3)next
解析
本题考查:释放内存空间函数free();链表结点的基本操作。
填空l:使用free函数,释放q所指的内存空间,其一般格式为:free(指针变量)。
填空2和填空3:删除链表中符合条件结点后,指针要指向下一个结点。
转载请注明原文地址:https://jikaoti.com/ti/Ngz0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下程序typedefstructstu{charname[10],gender;intscore;}STU;voidf(char*p){strcpy(p,"Qian");)ma
下列叙述中错误的是()。
以下叙述中正确的是()。
设栈的顺序存储空间为S(1:m),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为()。
设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是
有以下程序#include<stdio.h>structtt{intx;structtt*y;)*p;structtta[41={20,a+1,15,a+2,30,a+3,17a};main(){inti;p=a;for(i=1
在软件开发中,需求分析阶段可以使用的工具是
若i、j已定义成int型,则以下程序段中内循环体的总执行次数是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}
有以下程序#include<stdio.h>typedefstruct{intb,p;)A;voidf(Ac)/*注意:C是结构变量名*/{intj;c.b+=l;c.p+=2;}main(){i;Aa={l,2};f(a);pr
要求通过while循环不断读入字符,当读入字*N时结束循环。若变量已正确定义,以下正确的程序段是
随机试题
在西方,秘书清理自己的办公室,实际上是
A.无菌动物B.悉生动物C.无特殊病原动物D.清洁动物E.常规动物体表或肠道中均无微生物存在,并且体内不含任何抗体的动物是
因其有毒,宜先煎0.5~1小时,至口尝无麻辣感为度的药物是
以下法律规范性文件中,不属于我国法律体系中宪法相关法的是()。
2010年山东省经济实现平稳较快发展。初步核算,全省实现生产总值(GDP)39416.2亿元,按可比价格计算,比上年增长12.5%。其中,第一产业增加值增长3.6%;第二产业增加值增长13.4%;第三产业增加值增长13.0%。产业结构调整取得明显成效,三次
海马对于()相当于()对于珊瑚
对“生态整体主义”这一概念理解准确的一项是:文中【】处应填入的词语是
(2015年多选52)在我国,宪法的根本法地位表现在()。
A、Paintingtheroomwhite.B、Buyingwhitefurniture.C、Waitingthemantodecide.D、AskingMr.Whiteforadvice.A建议题,男士说不知该把房间漆
Sleepispartofaperson’sdailyactivitycycle.Thereareseveraldifferentstagesofsleep,andtheytoo【B1】______incycles.
最新回复
(
0
)