c++链表
来源:互联网 发布:数据库编辑器 编辑:程序博客网 时间:2024/06/03 23:01
1.结点类
class Node{public:void printNode();int data;Node* next;};
2.链表类
class TList{public:TList();~TList();void PrintList();bool EmptyList();void InsertNodeHead(int data); void InsertNodeTail(int data);void DeleteNode(int pos);void SearchNode(int pos);int GetLenth();void Reverse();private:Node *listNode;int length;};
具体实现:
TList::TList(){ Node* newNode = new Node(); listNode = newNode; newNode->data = 0;newNode->next = NULL; listNode = newNode;length = 0;}TList::~TList(){delete listNode; listNode = NULL;}void TList::PrintList(){Node* tempNode = new Node(); tempNode = listNode->next; int index = 0;while (index<length){cout<<tempNode->data<<" ";tempNode = tempNode->next;index++;}delete tempNode; tempNode = NULL;cout<<endl;}bool TList::EmptyList(){if (0 == length){return true;}return false;}void TList::InsertNodeHead(int data){ Node *tempNode = new Node(); tempNode = listNode->next;Node *newNode = new Node(); newNode->data = data; newNode->next = tempNode;listNode->next = newNode;length++;}void TList::InsertNodeTail(int data){ Node *tempNode = new Node(); tempNode = listNode; while (NULL != tempNode->next) { tempNode = tempNode->next; } Node *newNode = new Node(); newNode->data = data; newNode->next = NULL; tempNode->next = newNode; length++;}void TList::DeleteNode(int pos){if (pos<0 || pos>length){cout<<"下标错误"<<endl;} else if (length == pos){ //找到最后一个元素 Node *tempNode = new Node(); tempNode = listNode; while (NULL != tempNode->next) { tempNode = tempNode->next; } tempNode->next = NULL;length--;}else{Node* tempNode = new Node();tempNode = listNode;int index = 1;while (index < pos){tempNode = tempNode->next; index++;}tempNode->next = tempNode->next->next;length--;}}int TList::GetLenth(){return length;}
阅读全文
0 0
- C链表
- c 链表
- 链表(C#)
- C链表
- C 链表
- [C]链表
- C 链表
- 【C++】链表
- C 链表
- c链表
- C-链表
- c 链表
- C链表
- c链表
- 链表 c
- C++:链表
- C 链表
- C语言泛型初探----C链表
- 算数运算符,赋值运算符,比较运算符,逻辑运算符,三元运算符,位运算符,字符和字符串参加运算
- css的div垂直居中的方法,百分比div垂直居中
- 第八周项目2 顺序串算法
- 任务分配问题(回溯算法)
- JavaScript正则中\1\2的作用
- c++链表
- 根据中序序列与后序序列构建二叉树
- 数据库创建表失败原因
- 新的开始
- phantomjs的使用
- mysql中存取数据解决乱码问题(idea)
- Servlet生命周期
- gulp入门(2)
- 基于路由切换信息的过渡动效(2)