Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1 - escreva uma função que concatene duas listas encadeadas, ou seja, no final da primeira lista colocar o endereço de memoria
- do começo da proxima lista.
- 2 - troque a posição de duas celulas da lista;
- 3 - escreva uma função que inverta a a ordem das celulas de uma lista encadeada. A primeira posição passa a ser a ultima,
- a segunda passa a ser a penultima e assim por diante.
- #include <stdlib.h>
- #include <stdio.h>
- struct nodo{
- int valor;
- struct nodo *prox = NULL;
- };
- void inserir(struct nodo cabeca, struct nodo n){
- struct nodo aux = cabeca;
- while(aux.prox != NULL){
- aux = *aux.prox;
- }
- aux.prox = &n;
- }
- struct nodo *buscar(struct nodo cabeca,int n){
- struct nodo aux = cabeca;
- while(aux.prox != NULL){
- if(aux.valor == n){
- return &aux;
- }
- aux = *aux.prox;
- }
- return NULL;
- }
- void remover(struct nodo cabeca,int valor){
- if(cabeca.prox != NULL){
- struct nodo aux = *cabeca.prox;
- struct nodo ant = cabeca;
- while(aux.valor != valor && aux.prox != NULL){
- ant = aux;
- aux= *aux.prox;
- }
- if(aux.valor == valor){
- ant.prox = aux.prox;
- free(&aux);
- }
- }
- }
- int main(){
- struct nodo lista;
- int v;
- scanf("%d",&v);
- struct nodo n1;
- n1.valor = v;
- inserir(lista,n1);
- scanf("%d",&v);
- struct nodo n2;
- n2.valor = v;
- inserir(lista,n2);
- *buscar(lista,5);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement