数据结构(2)——链表形式的堆栈,以及火车车厢重排问题

本文介绍了使用链表形式实现堆栈的详细过程,并提及了一个未解决的火车车厢重排问题,目前堆栈代码已完成,正在进行车厢问题的调试。
摘要由CSDN通过智能技术生成

说来惭愧,这一不更新数据结构就是这么长时间,这么搞9月之前怎么完成任务?!执行力还是低了点,以后还是像大牛们学习,争取一天一篇。

链表形式的堆栈早写好了,只是火车车厢重排问题一直没解决,所以暂时只上堆栈的代码,车厢问题调试中。

/*之前的顺序栈是使用顺序表的方式简历,同样也可以使用链表的形式描述
而链表的描述也可以拓展Chain,也可以自己定义,再次直接自己定义
*/
#ifndef LinkedStack_H_
#define LinkedStack_H_
#include<iostream>
template<class T>class LinkedStack;  
template<class T>
class Node{
	friend class LinkedStack<T>;
private:
	T data;
	Node<T> *link;
};

template<class T>
class LinkedStack{
public:
	LinkedStack() { top = 0; }
	~LinkedStack();
	bool IsEmpty() const { return top == 0;}
	bool IsFull() const;
	T Top() const;
	LinkedStack<T>& Add(const  T& x);
	LinkedStack<T>& Delete(T& x);
private:
	Node<T> *top;//指向栈顶节点
};

template<class T>
LinkedStack<T>::~LinkedStack(){
//析构函数
	Node<T> *next;
	while (top){
		next = top->l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值