【C++数据结构】单链表
2016-09-27 17:01
363 查看
C++单链表的实现
SingleLinkedList.h
SingleLinkedList.cpp
SingleLinkedList.h
#pragma once #include <iostream> using namespace std; // 单链表 class CList { public: int Data; CList *next; public: CList(); ~CList(); }; class CSingleLinkedList { public: CList *head; public: CSingleLinkedList(); ~CSingleLinkedList(); public: // 增 void Insert(CList*&,int); // 删 void Delete(CList*&,int); // 改 void Change(CList*,int,int); // 查 void Inquire(CList*,int); public: void DisPlay(CList*); void DeleteAll(CList*); };
SingleLinkedList.cpp
#include "SingleLinkedList.h" CList::CList() { } CList::~CList() { } CSingleLinkedList::CSingleLinkedList() { head = new CList; head->next = nullptr; } CSingleLinkedList::~CSingleLinkedList() { DeleteAll(head); } void CSingleLinkedList::Insert(CList*& node, int data) { if (node == nullptr) { node = new CList; node->Data = data; node->next = nullptr; return; } Insert(node->next,data); } void CSingleLinkedList::Delete(CList *&node, int data) { if (node == nullptr) { return; } while (node->Data == data) { CList *newlist; newlist = node; node = node->next; delete newlist; newlist = nullptr; if (node == nullptr) { return; } } Delete(node->next,data); } void CSingleLinkedList::Change(CList *node, int data, int newdata) { if (node == nullptr) { return; } if (node->Data == data) { node->Data = newdata; } Change(node->next, data, newdata); } void CSingleLinkedList::Inquire(CList *node, int data) { if (node == nullptr) { cout << "未找到" << endl; return; } if (node->Data == data) { cout << "找到" << endl; return; } Inquire(node->next,data); } void CSingleLinkedList::DisPlay(CList* node) { if (node == nullptr) { return; } static int index = 0; cout <<"第" << index++ << "个数据为" << node->Data << endl; DisPlay(node->next); } void CSingleLinkedList::DeleteAll(CList *node) { if (node == nullptr) { return; } DeleteAll(node->next); delete node; node = nullptr; }
相关文章推荐
- C++数据结构之单链表
- [C++]数据结构之单链表
- 数据结构之单链表C++(模板)
- C++之数据结构,单链表
- 数据结构之单链表——C++模板类实现
- 数据结构之单链表 C++ 实现
- 数据结构 - 如何找到有环单链表的环的入口位置(C++)
- 数据结构之单链表 C++实现
- c++数据结构 单链表的实现
- 数据结构之单链表——C++模板类实现
- 数据结构之单链表实现队列C++
- C++数据结构之单链表
- 数据结构之单链表(C++实现)
- 数据结构—单链表(C/C++版)
- [FAQ] 数据结构用 C 和 C++ 描述有什么区别
- C++ 与 C#数据结构类型对应关系表
- 数据结构之顺序表C++实现
- 数据结构(C++)中C++常用语法
- c++ 数据容器结构及比较
- 结构之美:删除单链表指定位置的数据