andersonwxavier Postado Maio 24, 2012 Denunciar Share Postado Maio 24, 2012 Galera, peço para alguém se possivel me explicar de uma maneira clara como faço para fazer esse exercicio abaixo,Estou tendo muita dificuldade com estrutura de dados, eu entendo a parte teorica porem não consigo implementar, espero que alguém possa me ajudardesde já obrigado a todos !1. Um programa que usa uma estrutura de lista encadeada tem a seguintedeclaração de tipos:typedef struct NOH {int CHAVE;struct NOH *PROX;} NODEtypedef NODE *PONTEIRO;As inserções de dados deste programa são realizadas por meio doprocedimento abaixo:void insere (PONTEIRO *PRIM; int i) {PONTEIRO ATUAL, SEG, NOVO;NOVO = (NODE*) malloc (sizeof (NODE));NOVO->CHAVE = i;if (*PRIM == NULL) || (*PRIM->CHAVE > i) {NOVO->PROX = *PRIM;*PRIM = NOVO;} else {ATUAL = *PRIM;SEG = *PRIM->PROX;while (SEG != NULL && SEG->CHAVE > i) do {ATUAL = SEG;SEG = SEG->PROX;}NOVO->PROX = SEG;ATUAL->PROX = NOVO;}}Considere que o PONTEIRO que aponta para o início da lista (INICIO) éiniciado com valor NULL:INI1) Represente graficamente o estado da lista após a seguinte sequência deCchamadas (mostre a lista após cada chamada):IOInsere ( &INICIO, 6);Insere ( &INICIO, 3);Insere ( &INICIO, 5);Insere ( &INICIO, 7);2) Altere o programa para que a lista fique sempre em ordem decrescentede valores Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 andersonwxavier Postado Maio 25, 2012 Autor Denunciar Share Postado Maio 25, 2012 alguém? eu entendo teoricamente, porem não consigo implementar em codigo, alguém pode dar uma luz? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 andersonwxavier Postado Maio 28, 2012 Autor Denunciar Share Postado Maio 28, 2012 ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
andersonwxavier
Galera, peço para alguém se possivel me explicar de uma maneira clara como faço para fazer esse exercicio abaixo,
Estou tendo muita dificuldade com estrutura de dados, eu entendo a parte teorica porem não consigo implementar, espero que alguém possa me ajudar
desde já obrigado a todos !
1. Um programa que usa uma estrutura de lista encadeada tem a seguinte
declaração de tipos:
typedef struct NOH {
int CHAVE;
struct NOH *PROX;
} NODE
typedef NODE *PONTEIRO;
As inserções de dados deste programa são realizadas por meio do
procedimento abaixo:
void insere (PONTEIRO *PRIM; int i) {
PONTEIRO ATUAL, SEG, NOVO;
NOVO = (NODE*) malloc (sizeof (NODE));
NOVO->CHAVE = i;
if (*PRIM == NULL) || (*PRIM->CHAVE > i) {
NOVO->PROX = *PRIM;
*PRIM = NOVO;
} else {
ATUAL = *PRIM;
SEG = *PRIM->PROX;
while (SEG != NULL && SEG->CHAVE > i) do {
ATUAL = SEG;
SEG = SEG->PROX;
}
NOVO->PROX = SEG;
ATUAL->PROX = NOVO;
}
}
Considere que o PONTEIRO que aponta para o início da lista (INICIO) é
iniciado com valor NULL:
I
N
I
1) Represente graficamente o estado da lista após a seguinte sequência de
C
chamadas (mostre a lista após cada chamada):
I
O
Insere ( &INICIO, 6);
Insere ( &INICIO, 3);
Insere ( &INICIO, 5);
Insere ( &INICIO, 7);
2) Altere o programa para que a lista fique sempre em ordem decrescente
de valores
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.