Faça uma sequencia de 15 operações de inserção e remoção de elementos, aleatoriamente, numa única pilha. Mostre o estado da pilha a cada passo. Se a pilha ficar vazia, não tem problema; apenas deixe isto indicado. Por exemplo, se a sua pilha for de nomes:
Respostas
Oi!
COm o intuito de te orientar a construir o seu próprio algoritmo, segue abaixo um exemplar de programa que faz uma sequencia de 15 operações de inserção e remoção de elementos, aleatoriamente, numa única pilha.
Fique á vontade para fazer pequenas alterações e mudanças, caso queira.
record Nodo {
data //informação a ser armazenada no nodo
próximo // referência ao próximo nodo; null para o último nodo
}
record Stack {
Node stackPointer // ponteiro para o nodo do topo; valor null para uma pilha vazia
}
function push(Stack stack, Element element) { // insere elemento em uma pilha
new(newNode) // Allocate memory to hold new node
newNode.data := element
newNode.next := stack.stackPointer
stack.stackPointer := newNode
}
function pop(Stack stack) { // retira o elemento do topo e retorna o nodo do topo agora
node := stack.stackPointer
stack.stackPointer := node.next
element := node.data
return element
}
function top(Stack stack) { // retorna o nodo no topo
return stack.stackPointer.data
}
function length(Stack stack) { // retorna a quantidade de nodos na pilha
length := 0
node := stack.stackPointer
while node not null {
length := length + 1
node := node.next
}
return length
}