Programar em C/Listas encadeadas: diferenças entre revisões

m
<source> -> <syntaxhighlight> (phab:T237267)
(→‎Lista encadeada linear: guardar seguido de possuir)
m (<source> -> <syntaxhighlight> (phab:T237267))
 
Em uma lista encadeada linear o ultimo elemento aponta para NULL .
 
<sourcesyntaxhighlight lang="C">
struct No{
char *p_dados;
struct No *p_prox;
};
</syntaxhighlight>
</source>
 
==Iniciar uma lista==
A função abaixo demonstra como iniciar uma lista criando o espaço da raiz na memória.
 
<sourcesyntaxhighlight lang="C">
void criar_Lista(struct No **p_Raiz){
*p_Raiz = NULL;
}
</syntaxhighlight>
</source>
 
==Inserção==
===Inserção no início===
 
<sourcesyntaxhighlight lang="C">
int inserir_No_Inicio (struct No **p_Raiz, char *p_String){
struct No *p_Novo;
*p_Raiz = p_Novo;
}
</syntaxhighlight>
</source>
 
===Inserção no fim===
 
<sourcesyntaxhighlight lang="C">
int inserir_No_Fim(struct No **p_Raiz, char *p_String){
struct No *p_Novo;
}
}
</syntaxhighlight>
</source>
 
==Remoção==
===Remoção no início===
 
<sourcesyntaxhighlight lang="C">
void remover_No_Inicio(struct No **p_Raiz){
if(*p_Raiz == NULL) printf("\nA lista ja esta vazia\n");
}
}
</syntaxhighlight>
</source>
 
===Remoção no fim===
 
<sourcesyntaxhighlight lang="C">
void remover_No_Fim(struct No **p_Raiz){
if(*p_Raiz == NULL) printf("\nA lista ja esta vazia");
}
}
</syntaxhighlight>
</source>
 
==Exibição==
===Do fim para a raiz===
 
<sourcesyntaxhighlight lang="C">
void mostrar_Do_Fim_Para_Raiz(struct No *p_Raiz){
if(p_Raiz == NULL) printf("\nLista vazia");
}
}
</syntaxhighlight>
</source>
 
===Da raiz para o fim===
<sourcesyntaxhighlight lang="C">
void mostrar_Da_Raiz_Para_Fim(struct No *p_Raiz){
if(p_Raiz == NULL) printf("\nLista vazia");
}
}
</syntaxhighlight>
</source>
{{AutoCat}}
251

edições