首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也
admin
2021-02-25
42
问题
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数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://www.kaotiyun.com/show/Umtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义语句charc=’\101’;则变量c在内存中占
若运行时给变量x输入12,则以下程序的运行结果是()。main(){intx,y;scanf(’’%d’’,&x);y=x>127x+10:x-12;printf(’’%d\n’’,y);
有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)#include#includemain(){chara[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(st
若有以下定义intx[10],*pt=x;则对x数组元素的正确引用是
如果定义floata[10],x;则以下叙述中正确的是()。
设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是
若有定义inta;floatb;doublec;程序运行时输入:345能把值3输入给变量a、4输入给变量b、5输入给变量C的语句是
若有定义:doublea=22;inti=0,k=18;则不符合C语言规定的赋值语句是
下列叙述中正确的是
软件是指
随机试题
________是指“为了提高企业绩效水平,培育富有创新性和灵活性的组织文化,而将企业的人力资源管理活动同战略目标和目的联系在一起的做法”。
糖异生的能障及膜障部位是在
控制物耗的管理,要实行量差控制,下面体现量差控制的措施有()。
养老护理和资产传承是家庭生命周期中()的核心目标。
已知A,B,C三点的坐标分别为A(3,0),B(0,3),C(cosα,sinα),其中α∈.若=一1,求sin2α的值.
我国刑罚体系以()为核心。
上午9时一辆货车从甲地出发前往乙地,同时一辆客车从乙地出发前往甲地,中午12时两车相遇,已知货车和客车的时速分别是90千米和100千米,则当客车到达甲地时,货车距离乙地的距离是()。
用Write和Print语句向文件中写入多个数据的差别在于()。
在黑盒测试方法中,设计测试用例的主要根据是( )。
Researchershaveestablishedthatwhenpeoplearementallyengaged,biochemicalchangesoccurinthebrainthatallowittoact
最新回复
(
0
)