Lista encadeada em c -
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
//typedef p/ definir um tipo de dado dando-lhe um nome novo. typedef struct tipoCelula *ponteiro;
//estrutura tipo Itens typedef struct tipoItem{ int codigo; // podem se colocar varios tipo de itens
};
//estrutura da tipo Lista typedef struct tipoCelula{ tipoItem item; ponteiro anterior; ponteiro proximo;// apontador que ponta p/ seguinte posição
}celula;
//estrutura da lista typedef struct tipoLista{ ponteiro inicio; ponteiro fim;
};
//protitação das funções int listaVazia(tipoLista lista); void inicializa(tipoLista *lista); void inserir(tipoItem x, tipoLista *lista); void conteudo(tipoLista); void inverteOrdem(tipoLista lista); void consultar(int numero, tipoLista lista); void excluir(ponteiro p, tipoLista *lista, tipoItem *item); ponteiro retornar(int posicao, tipoLista lista);
int main(){ int opcao; tipoLista lista; ponteiro p; tipoItem aux; // auxliar p/ entrada de dados. (variável local da função da main) int num, posicao = 0; //faz a lista ficar vazia. inicializa(&lista); //Menu para chamar as funções; do{ system("cls"); // limpa a tela // opçoes das operações da lista cout<<"\n\n\tOPERACOES DA LISTA\n"; cout<<"\n\t[1] Inserir elemento"; cout<<"\n\t[2] Excluir elemento"; cout<<"\n\t[3] Conteudo da Lista"; cout<<"\n\t[4] Exibir elemento da lista"; cout<<"\n\t[5] Exibir os elementos na ordem inversa"; cout<<"\n\t[6] Limpar todo conteudo da lista"; cout<<"\n\t[7] Sair"; cout<<"\n\n\tInforme numero da opcao: "; cin>>opcao; if(opcao == 1){ //inserir dados na lista aux.codigo = rand() % 11; // gera numero