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

[revisão pendente][revisão pendente]
Conteúdo apagado Conteúdo adicionado
→‎Lista encadeada linear: guardar seguido de possuir
m <source> -> <syntaxhighlight> (phab:T237267)
 
Linha 25:
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==
Linha 36:
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==
Linha 48:
===Inserção no início===
 
<sourcesyntaxhighlight lang="C">
int inserir_No_Inicio (struct No **p_Raiz, char *p_String){
struct No *p_Novo;
Linha 63:
*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;
Linha 91:
}
}
</syntaxhighlight>
</source>
 
==Remoção==
Linha 99:
===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");
Linha 110:
}
}
</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");
Linha 128:
}
}
</syntaxhighlight>
</source>
 
==Exibição==
Linha 134:
===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");
Linha 155:
}
}
</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");
Linha 171:
}
}
</syntaxhighlight>
</source>
{{AutoCat}}