单链表实现数据结构-栈
记录几种常见数据结构的实现。
初学算法,难免出现一些问题, 仅记录自己的学习过程,谨慎参考。
采用 链式存储的方法来实现栈, 使用C++语言。
鉴于面向对象的封装性,栈的实现在头文件中完成,并采用了类模板,便于存储不同类型的数据。
但是还没有设置存取的独立操作,只有实验操作。待后续添加。
下面是代码。
liner.h
#pragma once
#include <iostream>
//栈 抽象数据类型结构的实现
using namespace std;
template<typename T> //模板声明,声明后可以自定线性表存储的数据类型
class Node {
private:
T element; //元素
public:
Node *next_node; //下一节点的指针
Node(T e,Node* n); //构造函数
T retrieve(); //读取当前值
Node* next(); //读取下一节点
template<class Type>
friend class List; //友元类
};
template<typename T>
Node<T>::Node(T e, Node* n) {
//构造结点,结点有值域和指针域
element = e;
next_node = n;
}
template<typename T>
T Node<T>::retrieve() {
//返回当前节点数据值
return element;
}
template<typename T>
Node<T>* Node<T>::next() {
//下一结点指针
return next_node;
}
class underflow {
};