十万火急!!!!!这周就要交作业啦!!!题目:设计一个处理单向链表的程序,对链表插入和删除操作

基本要求:(1)要求用C++的思想来完成程序的设计。(2)各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件。3.创新要求在基本要... 基本要求:(1)要求用C++的思想来完成程序的设计。
(2)各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.cpp文件中,要求使用头文件。

3. 创新要求
在基本要求达到后,进行创新设计,例如:将链表进行排序,而后插入新的结点使其仍然有序。

(1)建立单向链表,每个结点包括:学号(int),姓名(char name[]),性别(char)。
(2)将一个新的结点插入到链表中某一个结点之后。
(3)查找某一个结点将其从链表中删除。
(4)输出处理过的链表。在主函数中分别调用创建、插入、删除和输出函数。
展开
 我来答
一灯
2011-06-25 · TA获得超过1167个赞
知道小有建树答主
回答量:2614
采纳率:0%
帮助的人:1286万
展开全部
#include<iostream>
using namespace std;
struct Linklist
{
int data;
Linklist *next;
};

Linklist *L,*rear;

void create()//尾插法建立链表
{
Linklist *p;
int x;
cout<<"输入链表元素(按升序顺序输入):"
while(cin>>x&&x!=0)
{
if(L==NULL)
{
L=new Linklist;
L->data=x;
rear=L;
L->next=NULL;
}
else
{
p=new Linklist;
p->data=x;
rear->next=p;
p->next=NULL;
rear=p;
}
}
rear->next=NULL;
}

void del(int x)//删除data域值为x的结点
{
Linklist *p,*k,*t;
k=p=L;
while(p!=NULL)
{
if(p->data==x)
break;
k=p;
p=p->next;
}
if(p==L)
{
p=L;
L=L->next;
delete p;
}
else if(p==rear)
{
k->next=NULL;
delete p;
}
else if(p==NULL)
{
cout<<"没有值为"<<x<<"的结点 "<<endl;
}
else
{
k->next=p->next;
delete p;
}
}

void insert(int x)//插入data域值为x的结点(默认原链表为升序排列)
{
Linklist *s,*p,*k;
s=new Linklist;
s->data=x;
s->next=NULL;
k=p=L;
while(p!=NULL)
{
if(p->data>=x)
break;
k=p;
p=p->next;
}
if(p==L)
{
L=s;
s->next=p;
}
else if(p==NULL)
{
k->next=s;
}
else
{
k->next=s;
s->next=p;
}
}
void output()//将链表输出
{
Linklist *p;
p=L;
cout<<"链表中的元素为:";
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
cout<<endl<<endl;
}
void LinkListDemo()
{ // L是无头结点的单链表
Linklist *q, *p,*t;//p指针用于指示原链表最后的结点(即an),q指针用于指示原来的头结点(即a1)
q=L;
if ( q && q->next )
{
t=q;//将q指针指向a1
L=L->next;//将L指针指向新链表的头结点(即a2)
rear->next=q;
q->next=NULL;
t=NULL;
}
}

void main()
{
create();
output();
int x;
cout<<"输入需要插入的元素:";
cin>>x;
insert(x);
output();
cout<<"输入需要删除的元素:";
cin>>x;
del(x);
output();
LinkListDemo();
output();
}
jieqn
2011-06-24 · TA获得超过348个赞
知道小有建树答主
回答量:585
采纳率:0%
帮助的人:389万
展开全部
这个直接去找代码 c pitmer plus这本书第五版有现成代码
追问
这本书从哪里找到,网上有没有,有的话能不能发个网址,,,谢谢乐~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式