• 栈的运用(1)


    问题描述:

      火车调度站的入口处有n节硬席或软席车厢(以HS表示)等待调度,试编写算法,输出对这n节车厢进行调度的操作(即入栈或出栈操作)序列,使得所有软席车厢都被调整到硬席车厢之前。

    问题分析:

    此题主要解决的问题是,不管是入栈还是出栈,软席车厢要在硬席车厢之前

    一开始能想到的效果就是一头一尾都是软席,这样入栈和出栈都使得软席在硬席之前咯

     没看清题目啊,题目是说要把所有软席车厢都被调整到硬席车厢之前呢?亲啊。

    Int main()

    {

      Stack s;

      Char buffer[80];

      InitStack(s);

      Int i=0,j=0;

      Printf(请输入序列\n);

     While(i<s.stacksize){

     

       Scanf(%c,&buffer[i]);

        I++;

       }//这段代码时有问题的

    C语言知道该怎么写了,

    得承认写得少,但是来得及的,你看数据结构可以给你补很多知识。

    Scanf(%s,buffer);//自己试着多写写就是熟悉了。

    C++是直接这样写的

    Cin>>buffer;

    While(buffer[i]){

     If(buffer[i]==S){

       Buffer[j]=buffer[i];

       j++;

     }

     Else

      Push(s,buffer[i]);

      I++;

    }

    While(buffer[j])//说实话,我对数组的使用还不是很清楚,声明了一个字符数组,用得有些别扭,要多编程。

    {

      Pop(s,buffer[j]);

      J++;

    }

    Printf(%s,buffer);//各种语言的使用并不可怕,关键是编程的思想呢?可能这语句有问题,在C++中是这样表示的,cout<<buffer<<endl;

    Return 0;

    }

  • 相关阅读:
    【Leetcode】反转链表 II
    将博客搬至CSDN
    UVA 11021(概率)
    zoj
    Codeforces Round #227 (Div. 2) / 387C George and Number (贪心)
    点头(1163)
    fzu-2164 Jason's problem(数论)
    nyist --ACM组队练习赛(链接)
    nyoj-括号匹配(二)15---动态规划
    动态规划
  • 原文地址:https://www.cnblogs.com/wj204/p/3044331.html
Copyright © 2020-2023  润新知