LinklistNode.h
#ifndef LINKNODE
#define LINKNODE
class LinklistNode
{
public:
LinklistNode();
int data;
LinklistNode *Next;
};
#endif
LinklistNode.cpp
#include"LinklistNode.h"
#include<iostream>
using namespace std;
LinklistNode::LinklistNode(){};
linklistclass.h
#include "LinklistNode.h"
#ifndef LINKLISTCLASS
#define LINKLISTCLASS
class LinklistClass
{
public:
LinklistNode *head;
LinklistNode *tail;
int lennum;
LinklistClass();
void add(LinklistNode *linknode);
int length();
void print();
};
#endif
linklistclass.cpp
#include "LinklistClass.h"
#include <iostream>
#include <stdio.h>
using namespace std;
LinklistClass::LinklistClass(){
head=tail=NULL;
}
void LinklistClass::add(LinklistNode *linknode)
{
if(head==NULL)//未初始化
{
head=tail=linknode;
lennum=1;
}
else
{
tail->Next=linknode;
tail=tail->Next;
lennum++;
}
}
void LinklistClass::print()
{
LinklistNode *p=head;
while(p!=NULL)
{
cout<<p->data<<endl;
p=p->Next;
}
}
int LinklistClass::length()
{
return lennum;
}
Linklisttest.cpp
#include "LinklistNode.h"
#include "LinklistClass.h"
#include <iostream>
#include <stdio.h>
using namespace std;
void main()
{
LinklistClass lc;
LinklistNode *ln1=new LinklistNode();
ln1->data=1;
ln1->Next=NULL;
lc.add(ln1);
LinklistNode *ln2=new LinklistNode();
ln2->data=2;
ln2->Next=NULL;
lc.add(ln2);
cout<<lc.length();
lc.print();
system("pause");
}