Pular para o conteúdo principal

Postagens

Mostrando postagens de maio, 2019

LISTA CIRCULAR DUPLAMENTE ENCADEADA - EXERCÍCIO RESOLVIDO

/*Lista Circular Duplamente Encadeada*/ #include <iostream> #include <malloc.h> using namespace std; typedef char TInfo; typedef struct no { no *esq; TInfo info; no *dir; } TNo; typedef TNo *PNo; void criaListaC(PNo *l)   { *l = NULL; } void insereListaC(PNo *l, TInfo dado)   { PNo p; p = (PNo)malloc(sizeof(TNo)); p->info = dado; if (*l) { p->dir = *l; p->esq = (*l)->esq; (*l)->esq->dir = p; (*l)->esq = p; } else { p->dir = p; p->esq = p; } *l = p; } int eliminaListaC(PNo *l, TInfo *dado)   { PNo p;     if (*l)     {         p = *l;         if (p->dir == p)         {             *l = NULL;         }         else         {             (*l)->dir->esq = p->esq;      ...

LISTA CIRCULAR SIMPLESMENTE ENCADEADA

/*Lista Circular Simplesmente Encadeada - código-fonte para sua manipulação */ #include <iostream> #include <malloc.h> using namespace std; typedef char TInfo; typedef struct no { TInfo info; no *prox; } TNo; typedef TNo *PNo; void criaListaC(PNo *l) { *l = NULL; } void insereListaC(PNo *l, TInfo dado)   { PNo p, q; p = (PNo)malloc(sizeof(TNo)); p->info = dado; if (*l)  {  p->prox = *l; q = *l; while (q->prox != *l) { q = q->prox; } q->prox = p; } else { p->prox = p; } *l = p; } int eliminaListaC(PNo *l, TInfo *dado)   {     PNo p, q;     if (*l) {         p = *l;         if (p->prox == p) {             *l = NULL;         } else {             q= *l;             while(q->prox != *l)           ...