Lista Simplesmente Encadeada Em C
Casos: Lista Simplesmente Encadeada Em C. Pesquise 862.000+ trabalhos acadêmicosPor: pipoca_gti • 13/9/2014 • 380 Palavras (2 Páginas) • 472 Visualizações
#include <stdio.h>
#include <stdlib.h>
#include <conio.c>
#include <windows.h>
//Criando a Estrutura da Lista
struct Tipo_lista {
int cod;
struct Tipo_lista *prox;
};
//Determinando um ponteiro para o primeiro e o ultimo item da lista
struct Tipo_lista *primeiro;
struct Tipo_lista *ultimo;
//Criando a Função de Lista Vazia
void Lista_vazia(){
//faz e estrutura Tipo_lista apontar para aux
struct Tipo_lista *aux;
/* Antes do malloc diz que eu quero alocar uma estrutura do tipo lista e depois (o malloc é o comando para alocar)
e depois do malloc o sizeof "do tamanho de': nesse caso é do tamanho que a estrutura Tipo_lista vai suportar */
aux=(struct Tipo_lista*)malloc(sizeof(struct Tipo_lista));
/* A variavel primeiro passa a valer aux e ultimo passa a valer primeiro */
primeiro=aux;
ultimo=primeiro;
}
void insere (int x){
struct Tipo_lista *aux;
aux=(struct Tipo_lista*)malloc(sizeof(struct Tipo_lista));
// Nessa primeira parte ele pega o valor de ( x ) e joga para ( cod ) - aux recebe o valor porque aponta para ( cod )
aux->cod=x;
// Nessa primeira parte ele pega o valor de ( aux ) e joga para ( prox ) - ultimo recebe o valor porque aponta para ( prox )
ultimo->prox=aux;
// Nessa primeira parte ele diz que ultimo é igual ao ( prox ) que aponta para o ( ultimo )
ultimo=ultimo->prox;
//NULL é a condição de parada apos a inserção do item
aux->prox=NULL;
}
void imprime(){
struct Tipo_lista *aux;
/* Determinamos que aux= primeiro->prox porque na função Lista Vazia um aux já foi criado e nao recebeu nenhum valor
Então o imprime começa a contar o 2 aux da função Inserir ou seja ele conta a 2 posição, por isso aux= primeiro->prox*/
aux=primeiro->prox;
/* Enquanto aux for diferente de NULL e porque nos temos items na lista
por isso en cada looping determinamos que aux = aux->prox assim ele vai escaneando todos items da lista ate chegar em NULL*/
while(aux != NULL){
printf("Item %d",aux->cod);
aux=aux->prox;
}
}
int pesquisa(int x){
struct Tipo_lista *aux;
...