Fila em C
#define MAX 5 typedef int elemento; typedef struct fila{ elemento dados[MAX]; int fim;
}Fila;( fila.h) void fila_inicializar(Fila *f); void fila_inserir(Fila *f,elemento e); int fila_vazia(FIla f); int fila_vazia(FIla f); int fila_cheia(Fila f); int fila_quantidade(Fila f); elemento fila_remover(Fila *f); int mostrar_inicio(Fila f);
_______________________________________________
(FILA.C)
#include "fila.h" void fila_inicializar(Fila *f){ f->fim=0;
}
void fila_inserir(Fila *f,elemento e){ f->dados[f->fim]=e; f->fim++;
}
int fila_vazia(FIla f){ return (f.fim=0);
}
int fila_quantidade(Fila f){ return f.fim;
}
elemento fila_remover(Fila *f){ elemento aux = f->dados[0]; int cont; for(cont=1;contdados[i-1]=f->dados[i]; } f->fim--; return aux;
}
int mostrar_inicio(Fila f){ return f.dados[0];
}
_______________________________________________
#include
#include "fila.h" int main()
{
Fila f; fila_inicializa (&f); fila_inserir(&f,10); fila_inserir(&f,5); printf("inicio:%d\n",fila_inicio(f); fila_remover(&f); printf("inicio:%d\n",fila_inicio(f); fila_remover(&f);
}
------------------------------------
Tabela Hash
#include
#include
#include
#define TAM 10
typedef struct cel{ int chave; // valor a ser inserido struct cel *prox; //ponteiro para celula proxima }Celula;
/* Esta funcao insere uma nova celula já ordenado em uma lista encadeada.
* A nova celula eh inserida no final da lista.
* Ao final, a lista modificada eh retornada
*/
Celula *inserir(int valor, Celula *lista){ int aux; Celula *nova,*p; nova = (Celula *) malloc(sizeof(Celula)); nova->chave = valor;
if(!lista){ printf("o numero %d nao se encontra em colisao\n",valor); nova->prox=NULL; lista=nova; } else{//quando entra nesse else, já está em colisão printf("o numero %d se encontra em colisao\n",valor);