lista encadeada
1)
2) L_SEQ.c
1 2 # include “L_SEQ.h” 3 4 typedef struct { // estrutura 5 int dados[MAX]; // vetor onde esta a lista 6 int n; 7 } tLista; // tipo da estrutura 8 9
10 /* CRIA LISTA*/
11 void cria (tLista *lista){
12 lista ->n = 0;
13 }
14
15 int vazia (tLista lista){/*verifica se esta vazia*/
16 if(lista.n == 0)
17 return 1;
18 else
19 return 0;
20 }
21
22 int cheia (tLista lista){/*verifica se esta cheia*/
23 if(lista.n == MAX)
24 return 1;
25 else
26 return 0;
27 }
28
29 int tamanho (tLista lista){/*verifica o tamanho da lista*/
30 return (lista.n);
31 }
32
33 /*obtem o i-esimo elemento da lista*/
34 int elemento (tLista lista, int pos, int *dado){
35 if((pos > lista.n) || (pos n == MAX) || (pos > lista->n + 1))
55 return 0;
56 for(int i = lista->n; i >= pos; i--){
57 lista->dados[i] = lista->dados[i-1];
58 }
59
60 lista->dados[pos – 1] = dado;
61 (lista->n)++;
62 return 1;
63 }
64
65 /*Remove um elemento de uma determinada posicao*/
66 int retira (tLista *lista, int pos, int *dado){
67 if((pos > lista->n) || (pos dados[pos – 1];
71 for(int i = pos – 1; i < (lista->n) -1; i++){
72 lista->dados[i] = lista->dados[i+1];
73 }
74 (lista->n)--;
75 return 1;
76 }
L_SEQ.h
1 2 # ifndef LISTA_H 3 # define LISTA_H 4 # define MAX 100 5 6 typedef struct { // estrutura 7 int dados[MAX]; // vetor onde esta a lista 8 int n; 9 } tLista; // tipo da estrutura
10
11 extern void cria(tLista *lista);
12 extern int vazia(tLista lista);
13 extern int