| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:[急求]链表的插入、删除及打印出结果来
只看楼主 加入收藏
lh213
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-5
收藏
 问题点数:0 回复次数:0 
[急求]链表的插入、删除及打印出结果来

我们老师叫我们实现一个链表的插入、删除及它打印出来
他给了一段代码 可我怎么也看不懂 望高手帮忙解决一下
插入操作已经给出来了
目的:链表的删除 将我们输入的值打印出来


#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
struct node
{int data;
struct node *next;
};
typedef struct node NODE;
main()
{
void insert(NODE *temph,int i,int x); /*插入结点的算法*/
void list(NODE *temph); /*显示链表中所有结点的算法*/
void delete(NODE *temph,int x); /*删除结点x的算法*/
NODE *head,*p,*mp,*new; int i,c,x,t,w,flag=1;
head=(NODE *)malloc(sizeof(NODE));
head->next=NULL;
p=head;
while(1)
{ clrscr();
scanf("%d",&t);
if(t==0) break;
else
{ new=(NODE *)malloc(sizeof(NODE));
new->data=t;
new->next=NULL;
p->next=new;
p=p->next;
}
}
list(head);
while(flag)
{
printf("\n insert :put(1)");
printf("\n delete :put(2)");
printf("\n exit : put(3)");
printf("\n Please input a numble:");
scanf("%d",&c);
switch(c)
{ case 1:printf("Please input i,x:");
scanf("%d,%d",&i,&x);
insert(head,i,x);
break;
case 2:printf("Please input x:");
scanf("%d",&x);
delete(head,x);
break;
case 3: flag=0;
}
printf("\nPress any key continue.....");
getch();

} }
void insert(NODE *head,int i,int x)
{ NODE *mp,*new;
mp=head;
while(mp)
{if (mp->data==i) break;
else mp=mp->next;
}
new=(NODE*)malloc(sizeof(NODE));
new->data=x;
new->next=mp->next;
mp->next=new;
list(head);
}

[此贴子已经被作者于2007-6-5 17:47:32编辑过]

搜索更多相关主题的帖子: 删除 结果 打印 链表 
2007-06-05 10:57
快速回复:[急求]链表的插入、删除及打印出结果来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016043 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved