链表的建立,采用C++,包含头插和尾插,数据结构采用双向链表。
#include <iostream>
using namespace std;
struct DblNode
{
int val;
DblNode *llink;
DblNode *rlink;
DblNode(int val):val(val),llink(NULL),rlink(NULL){}
DblNode():llink(NULL),rlink(NULL){}
~DblNode();
};
int main()
{
DblNode *first = NULL;
DblNode *last;
last = first;
//尾插法建立双向链表
/*for(int i = 1;i<=10;i++)
{
DblNode *newnode = new DblNode(i);
last->rlink = newnode;
newnode->llink = last;
last = newnode;
}*/
//头插法建立双向链表
for(int i = 1;i<=10;i++)
{
DblNode *newnode = new DblNode(i);
newnode->rlink = first;
first = newnode;
}
first = first->rlink;
for(;first!=NULL;)
{
cout<<first->val<<endl;
first = first->rlink;
}
return 0;
}