Ir para conteúdo
Fórum Script Brasil

walkyrr

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre walkyrr

walkyrr's Achievements

0

Reputação

  1. Estou com duvida se esse código e simplesmente encadeado ou duplamente encadeado, alguém pode me ajudar? Isso é uma implementação de um Deque. #include <stdio.h> #include <stdlib.h> typedef struct TipoCelula *TipoApontador; typedef int TipoChave; typedef struct TipoItem { TipoChave Chave; } TipoItem; typedef struct TipoCelula { TipoItem Item; TipoApontador Prox; } TipoCelula; typedef struct TipoDeque { TipoApontador Frente, Tras; } TipoDeque; void IniciaDeque(TipoDeque *Deque) { Deque->Frente = (TipoApontador) malloc(sizeof(TipoCelula)); Deque->Tras = Deque->Frente; Deque->Frente->Prox = NULL; } int Vazio(TipoDeque Deque) { return (Deque.Frente == Deque.Tras); } void InsereUltimo(TipoItem x, TipoDeque *Deque) { if (Vazio (*Deque)) printf("\nO item %d foi o primeiro a ser inserido no Deque\n\n",x.Chave); else printf("\nO item %d foi inserido no final do Deque\n\n",x.Chave); Deque->Tras->Prox = (TipoApontador) malloc(sizeof(TipoCelula)); Deque->Tras = Deque->Tras->Prox; Deque->Tras->Item = x; Deque->Tras->Prox = NULL; } void InserePrimeiro (TipoItem x, TipoDeque *Deque) { TipoApontador novo; if (Vazio (*Deque)) { InsereUltimo(x, Deque); } else { novo = (TipoApontador) malloc(sizeof(TipoCelula)); novo -> Prox = Deque->Frente-> Prox; Deque->Frente-> Prox= novo; novo -> Item = x; printf("\nO item %d foi inserido no inicio do Deque\n\n",x.Chave); } }
×
×
  • Criar Novo...