加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

《数据结构》队列和栈同学问题征集解答=help!

发布时间:2021-05-15 15:24:13 所属栏目:站长百科 来源:网络整理
导读:下面是一名同学的提问,在他自己博客里,由于问题不止一个较长,这个同学平时是很认真思考的,所以我认为他的问题一定也是大家的问题。 ? ?因此。在此 “示众” !请大家来讨论来回答。必要的时候我也会补充。当然提问题同自己如果明白了也可以来定出答案。

下面是一名同学的提问,在他自己博客里,由于问题不止一个较长,这个同学平时是很认真思考的,所以我认为他的问题一定也是大家的问题。

? ?因此。在此“示众”!请大家来讨论来回答。必要的时候我也会补充。当然提问题同自己如果明白了也可以来定出答案。

? ?问题均有编号,请回答时注明题号就行。

1、判断队列中,队满与否的操作是取模:即

(rear+1)%QueueSize=front;  
原先不理解这句话的意思,于是标记了一下,然后想起了取模是什么!取模通俗来说就是“取余数”。如果不是这样操作,就必须分成两步:必须把rear是否指向数组的最后一个空间:
[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
if(rear==QueueSize);  
我想知道我这样的理解有没有错误?

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

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

4、关于ADT,为什么我用类初始化了头指针,后面的插入指针,临时指针等等都必须用ADT类型的。比如:
[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
template<class tt="">  
class List  
{  
        TT data;  
        List<tt> *next;  
public:  
        List( TT a[],int n)          
//下面省略  
};  


于是我们在下面定义该函数中指针就必须定义为ADT类型了,其他类型系统就会出错:
[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
<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“都不可以  
       //下面也省略  
}</tt></tt></class></span>  


求解释。详解,谢谢!</tt></class>

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读