初学链表,练习 V1.01

作者在 2006-10-05 05:42:00 发布以下内容

进展不是太快,删除节点部分还没搞懂,先把在表尾添加节点功能加上

程序如下。

下一版本将加入删除节点等功能。继续研发中……

/*****************IntNode.h********************/

class IntNode
{
public:
 int info;
 IntNode *next;
 IntNode(int el, IntNode *ptr=0)
 {
  info=el;
  next=ptr;
 }
};

 

/*******************InitList.h*******************/

#include "IntNode.h"
class InitList
{
public:
 IntNode *head;
 IntNode *tail;
 InitList()
 {
  head=tail=0;
 }
 int isEmpty();
 void addToHead(int);

 void addToTail(int);
};
int InitList::isEmpty()
{
 if(head==0)
 {
  return 0;
 }
 else  
  return 1;
}
void InitList::addToHead(int el)
{
 head=new IntNode(el,head);
}

void InitList::addToTail(int el)
{
 if(tail!=0)
 {
  tail->next=new IntNode(el);
  tail=tail->next;
 }
 else
 {
  head=tail=new IntNode(el);
 }
}

/*******************main.cpp***************/

#include <iostream.h>
#include "InitList.h"
void main()
{
 InitList L;
 cout<<L.isEmpty()<<endl;
// L.addToHead(3);
// cout<<L.isEmpty()<<endl;
 L.addToTail(3);
 cout<<L.isEmpty()<<endl;
}

 

 

算法总结 | 阅读 1103 次
文章评论,共0条
游客请输入验证码