C/C++ 堆栈、队列的链式实现

栈和队列的链式实现,很简洁明了,是在读《C++大学教程》(第二版)时看到的,觉得很不错,
所以自己动手敲了一遍,留着以后学习。


在学校时学过一边《数据结构》,可是那会儿没理解,也没使用过复杂的。那会儿只是把它当成
名词解释背的,为的就是“分数”!现在想想实在是可悲!其实这些例子上学那会儿就看过了,当
时觉得很明了,很简单,觉得没必要自己动手。可是今天用到的时候却卡壳了,看来好记心真不
如烂笔头啊!


#include <iostream>
#include <iomanip>
#include <assert.h>


using namespace std;


//
//class ListNode
//
template< class NODETYPE > class List;


template< class NODETYPE >
class ListNode
{
friend class List< NODETYPE >;
public:
ListNode( const NODETYPE & );
NODETYPE getData() const;
private:
NODETYPE data;
ListNode< NODETYPE >* nextPtr;
};


template< class NODETYPE >
ListNode< NODETYPE >::ListNode( const NODETYPE & d) : data(d),nextPtr(0)
{


}


template< class NODETYPE >
NODETYPE ListNode< NODETYPE >::getData() const
{
return data;
}


///
//class List
///
template< class NODETYPE >
class List
{
public:
List();
~List();

void insertAtFront( const NODETYPE & );
void insertAtBack( const NODETYPE & );

bool removeAtFront( NODETYPE & );
bool removeAtBack( NODETYPE & );

bool isEmpty() const;
void print() const;
private:
ListNode< NODETYPE >* firstPtr;
ListNode< NODETYPE >* lastPtr;
ListNode< NODETYPE >* getNewNode( const NODETYPE & );
 };

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值