王桂林 C++基础与提高 练习题——类实现单向链表的封装
2018-08-26 16:15
99 查看
源码:
fhnClassList.h
[code]#ifndef _FHN_CLASS_LIST_ #define _FHN_CLASS_LIST_ #pragma once struct Data { int a; int b; }; struct Node { Data d; struct Node* next; }; class fhnClassList { public: fhnClassList(void); void initList(); void insertList(Data data); Node * searchList(Data data); void travleList(); void destoryList(); ~fhnClassList(void); private: Node * head; }; #endif
fhnClassList.cpp
[code]#include "fhnClassList.h" #include <iostream> using namespace std; fhnClassList::fhnClassList(void) { } fhnClassList::~fhnClassList(void) { } void fhnClassList::initList() { head = new Node; head->next = nullptr; } void fhnClassList::insertList(Data data) { Node *cur = new Node; cur->d = data; cur->next = head->next; head->next = cur; } Node * fhnClassList::searchList(Data data) { Node *t = head->next; while(t) { if(t->d.a == data.a && t->d.b == data.b) { return t; break; } } return nullptr; } void fhnClassList::travleList() { Node * subHead = head->next; while(subHead) { cout<<subHead->d.a<<endl; cout<<subHead->d.b<<endl; subHead = subHead->next; } } void fhnClassList::destoryList() { Node *t = head; head = head->next; delete t; }
main.cpp
[code]#include <iostream> #include <string> #include "fhnClassList.h" using namespace std; int main() { fhnClassList ls; ls.initList(); for(int i=0;i<10;i++) { Data tmp; tmp.a=i; tmp.b=i; ls.insertList(tmp); } ls.travleList(); ls.travleList(); ls.destoryList(); return 0; }
阅读更多
相关文章推荐
- 数据结构的基础-单向链表所构造的栈 c++实现
- 王桂林 C++基础与提高 练习题——求两点间的距离
- 单向循环链表的实现C++封装
- 数据结构基础:c++实现单向链表
- 王桂林 C++基础与提高 练习题——按需求设计一个圆类
- 单向链表的c++实现
- 单向循环链表的C++实现
- C++实现封装链表
- C++:单向链表实现
- 单向链表的C++实现
- 【C++】用类实现单向单链表的尾插PushBack(),尾删PopBack(),打印PrintSlist()。
- 数据结构C++模板实现之----------------单向链表
- (C++版)链表(一)——实现单向链表创建、插入、删除等相关操作
- 单向链表的C++实现
- 双链表的实现C++封装
- 用c++实现简单的单向链表
- C++实现单向链表
- C++实现单向链表(2)
- 数据结构-C++实现(二):单向链表
- 数据结构学习系列三-单向循环链表(c++实现且应用模板)