FUN ES LISTA ENCADEADA

790 palavras 4 páginas
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct nodo{ int info; struct nodo *prox;
}elemento;

struct nodo *inicio; char resp; int valor;

void insere(int dado)
{
int res = 0; struct nodo *pnovo; pnovo=(struct nodo*)malloc(sizeof(elemento)); pnovo->info=dado; pnovo->prox=NULL; struct nodo *atual = inicio; struct nodo *ant = inicio;

if(inicio == NULL){ // no caso de lista vazia, insere novo nodo, que será o inicio inicio = pnovo; } else{ if (pnovo->info < dado){//se o novo nodo é menor, insere no inicio pnovo->prox=inicio; inicio=pnovo; } else{ while (pnovo->info > dado){//se o elemento é maior, percorre a lista ant = atual; atual = atual->prox; } if (atual->prox = NULL){//se percorreu toda a lista e não encontrou um elemento maior, insere no final da lista atual->prox = pnovo; } if (atual->prox != NULL){//se percorreu e encontrou um elemento maior, insere no meio (antes do maior, depois do menor) ant->prox = pnovo; pnovo->prox = atual; } } }
}

// Procedimento para inserção no fim da lista void insereFim(int dado)
{
struct nodo *pnovo;

pnovo=(struct nodo*)malloc(sizeof(elemento)); pnovo->info=dado; pnovo->prox=NULL;

struct nodo *atual = inicio; if(inicio == NULL){ inicio = pnovo; } else{ while(atual->prox != NULL){ atual = atual->prox; } atual->prox = pnovo; }
}
//Procedimento que retorna o tamanho da lista int tamanhoLista()
{
struct nodo *primeiro = inicio; int res=0; while(primeiro != NULL){ res++; primeiro=primeiro->prox; } return res;
}

// Procedimento para consultar um valor na lista int consulta(int valor)
{
int resp = 0; struct nodo *atual = inicio; while(atual != NULL){ if(atual->info == valor){ resp = 1; } atual = atual->prox; } return resp;
}

// Procedimento para inserção no meio da lista
void

Relacionados

  • QuickSort
    1183 palavras | 5 páginas
  • Programação em c+
    74593 palavras | 299 páginas
  • livro de prog C
    72670 palavras | 291 páginas
  • estruturas de dados
    501 palavras | 3 páginas
  • Exercicios Pascal/C
    9625 palavras | 39 páginas
  • Hash
    389 palavras | 2 páginas
  • estruturas
    1234 palavras | 5 páginas
  • Hash
    4846 palavras | 20 páginas
  • Prova e gabarito sistemas operacionais
    1864 palavras | 8 páginas
  • Faculdade
    441 palavras | 2 páginas