Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida- Esse código é encadeado ou duplamente encadeado?


walkyrr

Pergunta

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);
    }
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...