#include <stdio.h>
#define TAM 3
typedef struct{
int chave;
} REGISTRO;
typedef struct{
REGISTRO registros[TAM];
int qtde;
} LISTA;
void inicializar(LISTA *l){
l->qtde = 0;
}
### Inserindo um item na fila
void inserir(LISTA *l, REGISTRO r){
if(l->qtde < TAM){
l->registros[l->qtde] = r;
l->qtde++;
}
}
int buscar(LISTA *l, REGISTRO r){
for(int i = 0; i < l->qtde; i++){
if(l->registros[i].chave == r.chave){
return i;
}
}
return -1;
}
void remover(LISTA *l, REGISTRO r){
int pos = buscar(l, r);
if(pos>=0){
for(int i = pos; i < l->qtde - 1; i++){
l->registros[i] = l->registros[i+1];
}
l->qtde--;
}
}
void imprimir(LISTA *l){
for(int i = 0; i < l->qtde; i++){
printf("%d\n", l->registros[i].chave);
}
}
int main() {
LISTA l;
inicializar(&l);
inserir(&l, (REGISTRO){10});
inserir(&l, (REGISTRO){20});
inserir(&l, (REGISTRO){30});
inserir(&l, (REGISTRO){40});
remover(&l, (REGISTRO){10});
inserir(&l, (REGISTRO){50});
imprimir(&l);
return 0;
}