
C++中单链表的基本算法,怎么实现链表的输入跟输出
2个回答
2014-01-01
展开全部
List *Creatq(List *head)//后插法建立链表 { ListData n; head=new List;//建立表头结点 head->data=0; head->next=NULL; List *s, *p ; p=head; system("cls"); cout <<"输入数据n:"; cin>>n; while(n!=8888)//规定退出输入数据模式的键 { s=new List; s->data=n; p->next=s;//插入到表末端 p=s;//进行链接 system("cls"); cout <<"输入数字n:"; cin>>n; } p->next=NULL; //表收尾 return (head);}List *Creath(List *head,ListData n)//前插法建立链表 { head=new List;//建立表头结点 head->data=0; head->next=NULL; List *s, *p ; p=head; system("cls"); cout <<"输入数据n:"; cin>>n; while(n!=8888)//规定退出输入数据模式的键 { s=new List; //建立新结点 s->data=n; s->next=head->next; //插入到表前端 head->next=s; system("cls"); cout <<"输入数字n:"; cin>>n; } return (head);}int dsp(List *head)//显示数据 { List *p=head; while(p!=NULL) { if(p->next) cout <<p->next->data<<endl; p=p->next; }}
推荐于2018-04-19
展开全部
#include <iostream>
typedef struct node
{
char data;
node *next;
}Link;
Link* Create();
void ShowIt(Link *head);
using namespace std;int main()
{
Link *p=Create();
ShowIt(p);
return 0;
}
Link* Create()
{
Link *head,*p;
int i; p=new Link;
p->next=NULL;
cin>>p->data;
head=p;
head->next=NULL; while(1)
{
p=new Link;
p->next=NULL;
cin>>p->data;
if(p->data=='#')
{
break;
}
p->next=head;
head=p; } return head;}void ShowIt(Link *head)
{
Link *p;
p=head;
while(p)
{
cout<<p->data;
p=p->next;
}
} //头插法建立链表
typedef struct node
{
char data;
node *next;
}Link;
Link* Create();
void ShowIt(Link *head);
using namespace std;int main()
{
Link *p=Create();
ShowIt(p);
return 0;
}
Link* Create()
{
Link *head,*p;
int i; p=new Link;
p->next=NULL;
cin>>p->data;
head=p;
head->next=NULL; while(1)
{
p=new Link;
p->next=NULL;
cin>>p->data;
if(p->data=='#')
{
break;
}
p->next=head;
head=p; } return head;}void ShowIt(Link *head)
{
Link *p;
p=head;
while(p)
{
cout<<p->data;
p=p->next;
}
} //头插法建立链表
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询