Moure el element del mig d'una pila al top X55936


Statement
 

pdf   zip   tar

html

Implementeu un nou mètode de la classe Stack que intercambi el element del mig d’aquest amb el del top. En el cas especial en que no hi hagi element del mig (el tamany de la pila es parell), llavors no farà res.

Dentre els fitxers que s’adjunten en aquest exercici, trobareu stack.old.hpp, a on hi ha una implementació de la classe genèrica Stack. En primer lloc, haureu de fer:

cp stack.old.hpp stack.hpp

A continuació, haureu de buscar dins stack.hpp la part:

//void moveTopToMiddle()
//PRE: La pila implicita pot estar buida o no
//POST: Intercambia de posicio l'element del mig i el del top
  

Haureu de descomentar les dues línies que s’indiquen i implementar aquest mètode. No toqueu la resta de la implementació de la classe, excepte si, per algun motiu, considereu que necessiteu afegir algun mètode auxiliar a la part privada.

D’entre els fitxers que s’adjunten a l’exercici també hi ha program.cpp (programa principal) i Makefile per a compilar. Per a pujar la vostra solució, heu de crear el fitxer solution.tar així:

tar cf solution.tar stack.hpp

Entrada

Sortida

Public test cases
  • Input

    push h
    top 
    push b
    push o
    push d 
    push a
    moveTopToMiddle
    top
    moveTopToMiddle
    push k
    push l
    top
    push m
    push n
    moveTopToMiddle
    top
    push !
    top

    Output

    h
    o
    l
    a
    !
    
  • Input

    push a
    push e
    push i
    push m
    top
    push a
    push k
    push o
    push a
    moveTopToMiddle
    top
    push a
    push r
    push t
    push a
    moveTopToMiddle
    push q
    push t
    top
    push r
    top
    push e
    push l
    push a
    moveTopToMiddle
    push z
    push o
    push o
    push i
    push l
    push i
    moveTopToMiddle
    top
    moveTopToMiddle
    push c
    top
    push r
    push b
    push u
    moveTopToMiddle
    top
    push f
    push j
    push m
    push u
    push o
    push l
    top
    moveTopToMiddle
    push a
    top
    push y
    push j
    push k
    push h
    top
    moveTopToMiddle
    top
    push n
    top
    push n
    moveTopToMiddle
    top
    push a
    push s
    moveTopToMiddle
    push r
    top

    Output

    m
    a
    t
    r
    i
    c
    u
    l
    a
    h
    o
    n
    o
    r
    
  • Information
    Author
    JosepEdgar
    Language
    Catalan
    Official solutions
    Make
    User solutions
    Make