C语言单向链表的创建,输入,插入和删除的实现

C语言单向链表的创建,输入,插入和删除的实现... C语言单向链表的创建,输入,插入和删除的实现 展开
 我来答
mutoushirana
推荐于2017-09-28 · TA获得超过8458个赞
知道大有可为答主
回答量:1677
采纳率:0%
帮助的人:631万
展开全部
给你个例子吧

#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
struct Node{
int data;
struct Node * next;
};
/*创建链表*/
Node * Create()
{
int n=-1;
Node *head,*p1,*p2;
p1=new Node;
printf("请输入数据");
scanf("%d",&p1->data);
head=NULL;
while(p1->data!=-1)
{
if(n==-1)
{
head=p1;
}
else
p2->next=p1;
p2=p1;
p1=new Node;
scanf("%d",&p1->data);
n++;
}
p2->next=NULL;
return head;
}
/*显示链表*/
void Show(Node * head)
{
Node *p1;
p1=head;
while(p1!=NULL)
{
printf("%d\n",p1->data);
p1=p1->next;
}
}
/*删除链表中元素*/
int del(Node *head,int p)
{
Node * tmp=head;
for(int i=0;i<p;i++)
{
if(tmp==NULL)
return -1;
if(i<p-1)
tmp=tmp->next;
}
int ret=tmp->next->data;
tmp->next=tmp->next->next;
return ret;

}
/*插入链表元素*/
void insert(Node * head,int p,int x)
{
Node * tmp=head;
for(int i=0;i<p;i++)
{
if(tmp==NULL)
return ;
if(i<p-1)
tmp=tmp->next;
}
Node *tmp2=new Node;
tmp2->data=x;
tmp2->next=tmp->next;
tmp->next=tmp2;
}
int _tmain(int argc, _TCHAR* argv[])
{
Node *p;int locnum,data;
char choicenum;
while(true)
{
printf("*****************学生信息管理系统*****************\n");
printf("a.创建学生链表\n");
printf("b.插入学生信息\n");
printf("c.删除学生信息\n");
printf("d.显示学生信息\n");
printf("e.退出\n");
printf("**************************************************\n");
printf("请输入您选择的功能代号\n");
scanf("%c",&choicenum);
if(choicenum=='a')
{
p=Create();
}
else if(choicenum=='b')
{
printf("请输入要插入数据的位置\n");
scanf("%d",&locnum);
printf("请输入插入的数据");
scanf("%d",&data);
insert(p,locnum,data);
}
else if(choicenum=='c')
{
printf("请输入要删除数据的位置\n");
scanf("%d",&locnum);
del(p,locnum);
}
else if(choicenum=='d')
{
printf("学生信息:");
Show(p);
}
else if(choicenum=='e')
{
break;
}
else
{
printf("请输入正确的序号\n");
}

}
return 0;
}
pence572
2012-01-14 · 贡献了超过195个回答
知道答主
回答量:195
采纳率:0%
帮助的人:127万
展开全部
/** *时间:2010年8月28日17:19:49 *功能:C语言实现单链表的建立、输入、插入、删除、查找元素并返回位置 */ #include"stdio.h" #include"stdlib.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天高地远山
2012-01-15 · 超过31用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:66.7万
展开全部
楼上讲的挺详细的,给个邮箱 发你份PPT吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式