单向链表2

#include <iostream>
using namespace std;

class Node//节点
{
public:
int data;
Node* next;

public:
Node() :data(0), next(NULL){}
};

class List//链表
{
public:
List() :headnode(NULL), lastnode(NULL), node(NULL), length(0){}//创建链表,链表的初始化
void Add(int x);//增加一个节点
bool isempty()const;//判断链表是否为空
void travle()const;//遍历这个链表

private:
Node* headnode;//头节点
Node* lastnode;//尾节点
Node* node;//临时节点
int length;//链表长度
};

void List::travle()const
{
Node* temp = headnode;
while (temp!=NULL)
{
cout << temp->data<<" ";
temp = temp->next;
}
return;
}

void List::Add(int x)
{
node = new Node();
node->data = x;
if (lastnode==NULL)
{
lastnode = node;
headnode = node;
}
lastnode->next = node;
lastnode = node;
length++;//链表长度加1
}

bool List::isempty()const
{
return lastnode == NULL;
}

 

int main()
{
List a;
a.Add(1);
a.Add(3);
a.Add(5);
a.Add(7);

a.travle();
//int b;
return 0;
}

posted @ 2016-08-04 19:27  追风筝的恐龙  阅读(180)  评论(0编辑  收藏  举报