Skip to content

Commit

Permalink
1° Commit de correção 🥳
Browse files Browse the repository at this point in the history
  • Loading branch information
devicewhite committed Oct 13, 2024
1 parent 93b91c0 commit 98624dc
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions snippets/stack.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,23 @@ Pense em um baralho de cartas, a última carta é a primeira a ser removida.
### Parte 1°: Criando o cabeçalho

1. Primeiro precisamos definir o tamanho da nossa pilha
```pawn
```cpp
#define MAX_STACK_SIZE 100
```

2. Após isso precisamos criar um array, onde armazenaremos os valores inseridos na pilha
```pawn
```cpp
new Stack[MAX_STACK_SIZE];
```

3. Também vamos precisar de uma variavel que armazene a posição do ultimo valor inserido
```pawn
```cpp
new top = -1; // -1 significará vazio
```

Como resultado, esse será o nosso pontapé inicial:

```pawn
```cpp
#define MAX_STACK_SIZE 100

new Stack[MAX_STACK_SIZE];
Expand All @@ -35,14 +35,14 @@ new top = -1;
### Parte 2°: Criando função Push (Inserir)

1. Primeiros criaremos o cabeçalho da nossa função
```pawn
```cpp
stock Push(valor)
{
}
```

2. Antes de inserir o valor na pilha, precisamos saber se tem espaço suficiente
```pawn
```cpp
if(top >= (MAX_STACK_SIZE - 1))
{
// A pilha está cheia
Expand All @@ -51,14 +51,14 @@ new top = -1;
```

3. Se a pilha estiver vazia, então podemos inserir o valor na pilha
```pawn
```cpp
Stack[++top] = valor;
return 1;
```

Como resultado, essa será a nossa função Push

```pawn
```cpp
stock Push(valor)
{
if(top >= (MAX_STACK_SIZE - 1)) return 0;
Expand All @@ -70,14 +70,14 @@ stock Push(valor)
### Parte 3°: Criando função Pop (Remover)
1. Primeiros criaremos o cabeçalho da nossa função
```pawn
```cpp
stock Pop()
{
}
```
2. Antes de remover o valor da pilha, precisamos saber se tem algum valor nela
```pawn
```cpp
if(top == -1)
{
// A pilha está vazia
Expand All @@ -86,13 +86,13 @@ stock Push(valor)
```
3. Caso tenha algum valor na pilha, retornamos e removemos o seu valor
```pawn
```cpp
return Stack[top--];
```
Como resultado, essa será nossa função Pop
```pawn
```cpp
stock Pop()
{
if(top == -1) return -1;
Expand All @@ -106,7 +106,7 @@ Podemos criar funções extras para saber o estado da nossa pilha

Por exemplo, veja essas duas funções `IsStackEmpty` e `IsStackFull`

```pawn
```cpp
stock IsStackEmpty() return (top == -1);

stock IsStackFull() return (top >= (MAX_STACK_SIZE - 1));
Expand All @@ -116,7 +116,7 @@ stock IsStackFull() return (top >= (MAX_STACK_SIZE - 1));
Eu elaborei um script para testar as funções `push` e `pop`, acompanhe abaixo
```pawn
```cpp
// codigo da minha pilha
#include <stack>
Expand Down

0 comments on commit 98624dc

Please sign in to comment.