Advertisement
ProgramadorC997

Exercicios Lista Encadeada

Feb 10th, 2016
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. 1 - escreva uma função que concatene duas listas encadeadas, ou seja, no final da primeira lista colocar o endereço de memoria
  2. do começo da proxima lista.
  3.  
  4. 2 - troque a posição de duas celulas da lista;
  5.  
  6. 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,
  7. a segunda passa a ser a penultima e assim por diante.
  8.  
  9. #include <stdlib.h>
  10. #include <stdio.h>
  11.  
  12. struct nodo{
  13. int valor;
  14. struct nodo *prox = NULL;
  15. };
  16.  
  17. void inserir(struct nodo cabeca, struct nodo n){
  18. struct nodo aux = cabeca;
  19. while(aux.prox != NULL){
  20. aux = *aux.prox;
  21.  
  22. }
  23. aux.prox = &n;
  24. }
  25. struct nodo *buscar(struct nodo cabeca,int n){
  26. struct nodo aux = cabeca;
  27. while(aux.prox != NULL){
  28. if(aux.valor == n){
  29. return &aux;
  30. }
  31. aux = *aux.prox;
  32. }
  33. return NULL;
  34. }
  35.  
  36. void remover(struct nodo cabeca,int valor){
  37. if(cabeca.prox != NULL){
  38. struct nodo aux = *cabeca.prox;
  39. struct nodo ant = cabeca;
  40. while(aux.valor != valor && aux.prox != NULL){
  41. ant = aux;
  42. aux= *aux.prox;
  43. }
  44.  
  45. if(aux.valor == valor){
  46. ant.prox = aux.prox;
  47. free(&aux);
  48. }
  49.  
  50. }
  51. }
  52.  
  53. int main(){
  54. struct nodo lista;
  55. int v;
  56. scanf("%d",&v);
  57. struct nodo n1;
  58. n1.valor = v;
  59. inserir(lista,n1);
  60. scanf("%d",&v);
  61. struct nodo n2;
  62. n2.valor = v;
  63. inserir(lista,n2);
  64. *buscar(lista,5);
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement