关于栈与队列的一些问题

</pre><p><span style="font-size:24px;">1、判断队列中,队满与否的操作是取模:即</span></p><p><span style="font-size:24px;"></span><pre name="code" class="cpp">(rear+1)%QueueSize=front;

原先不理解这句话的意思,于是标记了一下,然后想起了取模是什么!取模通俗来说就是“取余数”。如果不是这样操作,就必须分成两步:必须把rear是否指向数组的最后一个空间:

if(rear==QueueSize);

我想知道我这样的理解有没有错误?


2、关于栈的应用举例,中缀表达式中“#”这一个符号是什么意思,仅仅是代表开始-结束符号吗?


3、关于把“中缀表达式转换为后缀表达式”,书里面的伪代码讲的太抽象,又没有图帮助了解,求图求解释!


4、关于ADT,为什么我用类初始化了头指针,后面的插入指针,临时指针等等都必须用ADT类型的。比如:

template<class TT>
class List
{
        TT data;
        List<TT> *next;
public:
        List( TT a[],int n)        
//下面省略
};


 

于是我们在下面定义该函数中指针就必须定义为ADT类型了,其他类型系统就会出错:

<span style="font-size:24px;">template<class TT>
List<TT>::List(TT a[],int n)
{
       first=new List;first->next=NULL;
       List<TT> *s;    //这里为什么只可以这样,我写成” TT *s“都不可以
       //下面也省略
}</span>


求解释。详解,谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值