链表的建立、插入和删除(三)

链表的建立、插入和删除(三),第1张

链表的建立、插入和删除(三),第2张

3.示例[示例7-7 ]
创建一个包含学生编号和姓名节点的链接列表。节点个数任意,表格按学号顺序排列,学号低的在前,学号高的在后,输入姓名空为末。在这个链表中,需要删除一个具有给定名称的节点,并插入一个具有给定学号和姓名的节点。
# include " stdlib . h "
# include " malloc . h "
struct node/* node */
{
int num;
char str[20];
struct node * next;
};
/* * * * * * * * * * * * * * * * * * * * * * */
main()
{
/*函数声明*/[/br/
struct node * insert();
struct node * delet();
void print();
结构节点*头;
char str[20];
int n;
head = NULL;/* Make空table */
head = creat(head);/*调用函数创建以head为头的链表*/
p r I n t(h e a d);/*调用函数输出节点*/
printf(" \ n input inserted num,name:\ n ");
gets(str);/*输入学号*/
n = atoi(str);
gets(str);/*输入姓名* /
head=insert (head,str,n);将/*节点插入链表*/
print(head);/*调用函数输出节点*/
printf ("\ n输入删除名称:\ n ");
gets(str);/*输入删除的名字* /
head=delet(head,str);/tune * delete node */
print(head)带函数;/*调用函数输出节点*/
r e t u r n;
}
/* * * * * * * * * * * * * * * * * * * * */
/* * *创建链表* * * * * * * * * * */

struct node * pl,* p2
pl=p2=(结构节点*) malloc(sizeof(结构节点));
printf("输入号码,名称:\ n;")
printf(" exit:double time Enter!\ n ");
g e t s(t e m p);
gets(P1-> str);
pl-> num = atoi(temp);
p L-> N e x t = N U L L;
while(strlen(pl-> str)> 0
{
if(head = = NULL)head = pl;
else p2-> next = P1;
P 2 = P l;
pl =(struct node *)malloc(sizeof(struct node));
printf("输入编号,名称:\ n ");
printf(" exit:double time Enter!\ n ");
g e t s(t e m p);
gets(pl-> str);
P1-> num = atoi(temp);
P 1-> N e x t = N U L L;
}
返回头;
}
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
struct node * head;
char * pstr;
int n;
{
结构节点* P1,*p2,* p3
p1=(结构节点*)malloc(sizeof(结构节点));
strcpy (p1->str,pstr);
p 1-> n u m = n;
p 2 = h e a d;
I f(h e a d = = N U L L)
{
h e a d = p L;p L-> N e x t = N U L L;
}
e l s e
{
while(n > p2-> num & & p2-> next!= NULL)
{
P3 = p2
p2 = p2-> n e x t;
}
if(nnum)
if(head = = p2)
{
h e a d = p l;
p l-> n e x t = p 2;
}
else
{
P3-> n e x t = p l;
p l-> n e x t = p 2;
}
else
{
p2-> n e x t = p l;
p L-> N e x t = N U L L;
}
}
r e t u r n(h e a d);
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 链表的建立、插入和删除(三)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情