栈和队列-第3章-《数据结构题集》习题解析-整理

3.1❶若按教科书3.1.1节中图3.1(b)所示铁道进行车厢调度(注意:两侧铁道均为单向行驶道),则请回答:

(1) 如果进站的车厢序列为123,则可能得到的出站车厢序列是什么?

(2) 如果进站的车厢序列为123456,则能否得到435612和135426的出站序列,并请说明为什么不能得到或者如何得到(即写出以‘S’表示进栈和以‘X’表示出栈的栈操作序列)

 

3.2❶简述栈和线性表的差别

3.6❹ 试证明:若借助栈由输入序列12…n得到的输出序列为p1p2…pn(它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着i<j<k使pj<pk<pi

 

3.9❸试将下列递推过程改写为递归过程。

    void ditui(int n)

    {

        int i;

        i = n;

        while(i>1)

            cout<<i--;

    }

 

3.10❸试将下列递归过程改写为非递归过程。

    void test(int &sum)

    {

        int x;

        cin>>x;

        if(x==0)

            sum=0;

        else

        {

            test(sum);

            sum+=x;

        }

        cout<<sum;

    }

 

3.11❸简述队列和堆栈这两种数据类型的相同点和差异处。

 


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值