Estrutura de Dados Fila
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Atenção: O autor não autoriza a divulgação do material na Intenet
sexta-feira, 16 de setembro de 2011 11:37
#include
#include
//Definindo a estrutura typedef struct LISTA{ int num; //Irá armazenar o valor que o usuário digitar
LISTA *prox;
};
//Procedimento com passagem de dois valores por refência que faz a inserção no inicio da LISTA void inseriInicio(LISTA **ini, LISTA **f){
//Declara a variavel que será responsável por armazenar o novo elemento
LISTA *novo;
//Aloca o espaço para nova varíável novo = (LISTA *) malloc(sizeof(LISTA));
//Pede para o usuário o valor que ele deseja armazenar nesta LISTA printf("Digite o valor desejado: "); scanf("%d", &novo->num);
//Verifica se é o primeiro elemento a ser inserido if (*ini == NULL){
//Considerando somente ter um valor o proximo será NULL novo->prox = NULL;
//Tanto o inicio quanto o final devem apontar para a mesma posição
*ini = novo;
*f = novo;
}else {
//Considerando que vai ser o primeiro elemento então o prox é o antigo inicio novo->prox = *ini;
//Atualiza o inicio para a nova posição alocada
*ini = novo;
}
}
//Inserindo no meio da lista void inseriMeio(LISTA **ini, LISTA **f, int n){
//Cria a vaiável que armazenará o novo elemento alocado
//A variável aux é responsável por encontrar a posição que será inserida depois
LISTA *novo, *aux, *encontrado;
//Aloca o aloca para nova varíável novo = (LISTA *) malloc (sizeof(LISTA));
//Verifica se tem algum elemento insirido if(*ini == NULL){ printf("Impossível inserir no meio... Será inserida no inicio por nao ter mais elementos");
//Considerando somente ter um valor o proximo será NULL novo->prox = NULL;
//Tanto o inicio quanto o final devem apontar para a mesma posição
*ini = novo;
*f = novo;
}else {