双向链表的创建

来源:百度知道 编辑:UC知道 时间:2024/09/23 09:31:47
求一个双向链表的创建函数,要求必须能够返回头结点head和tail的函数
小弟太菜,只会返回一个值,不知道怎么完成这个操作
大概函数格式就是这样的
当然你们也可以用自己的好的函数格式
#include <iostream>
using namespace std;
struct NODE
{
int data;
NODE *next,prior;
};
//============
创建函数,要能返回head和tail
//============
int main()
{
//顺序输出
while(head)
{
cout<<head-data<<' ';head=head->next;
}
//逆序输出
while(tail)
{
cout<<tail->data<<' ';tail=tail->next;
}
return 0;
}

创建一个结构体吧,结构体有两个变量:head,tail,调用函数时传给这个函数结构体的地址,函数里面给这个结构体的head和tail赋值。

帮你现编的
#include <iostream>
using namespace std;
struct NODE
{
int data;
NODE *next,*prior;
};
struct LList
{
NODE *head,*tail;
};
LList *Creat()
{
int i;
NODE *n,*p;
LList *l;
l=new LList;
l->head=new NODE;
l->head->prior=NULL;
l->head->data=0;
l->tail=new NODE;
l->tail->next=NULL;
l->tail->data=9;
p=l->head;
for(i=1;i<9;i++)
{
n=new NODE;
n->data=i;
p->next=n;
l->tail->prior=n;
n->next=l->tail;
n->prior=p;
p=p->next;
}
return l;
}
int main()
{
LList *l;
l=Creat();
NODE *head,*tail;
head=l->head;
tail=l->tail;
//顺序输出
while(head)
{
cout<<head->data<&l