Advertisement
veto14

questao7.listaed1

May 21st, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct list{
  5. int val;
  6. list* next;
  7. }Lista;
  8.  
  9. Lista* new_list(){
  10. return NULL;
  11. }
  12.  
  13. Lista* lst_insere (Lista* lst, int value){
  14. Lista* new_l = (Lista*)malloc(sizeof(Lista));
  15. new_l->val = value;
  16. new_l->next = lst;
  17. printf("%d Alocado com Sucesso!\n",new_l->val);
  18. return new_l;
  19.  
  20. }
  21.  
  22. void lst_print(Lista* lst){
  23. Lista* aux;
  24. for(aux = lst; aux!=NULL; aux = aux->next){
  25. printf("Conteudo %d\n", aux->val);
  26. }
  27. }
  28.  
  29. int lst_void (Lista* lst){
  30. return (lst == NULL);
  31. }
  32.  
  33. Lista* lst_search (Lista* lst, int termo){
  34. Lista* search;
  35. for(search = lst; search!=NULL; search = search->next){
  36. if(search->val == termo){
  37. return search;
  38. }
  39. }
  40. return NULL;
  41. }
  42.  
  43. Lista* lst_remove (Lista* lst, int value){
  44. Lista* anterior = NULL;
  45. Lista* aux = lst;
  46. while(aux != NULL && aux->val != value){
  47. anterior = aux;
  48. aux = aux->next;
  49. }
  50. if(aux == NULL){
  51. return lst;
  52. }
  53. if(anterior == NULL){
  54. lst = aux->next;
  55. }
  56. else{
  57. anterior->next = aux->next;
  58. }
  59. printf("%d Desalocado com Sucesso!\n",aux->val);
  60. free(aux);
  61. return lst;
  62. }
  63.  
  64. Lista* lst_copy(Lista* lst){
  65. Lista* p;
  66. Lista* nl;
  67. nl = p;
  68. return nl;
  69. }
  70.  
  71. void lst_destroy(Lista* lst){
  72. Lista* aux = lst;
  73. while(aux != NULL){
  74. Lista* t = aux->next;
  75. free(aux);
  76. aux = t;
  77. }
  78. }
  79.  
  80. int main(void){
  81. Lista* list;
  82. Lista* copia;
  83. copia = new_list();
  84. list = new_list();
  85. list = lst_insere(list,4);
  86. list = lst_insere(list,8);
  87. list = lst_insere(list,12);
  88. copia = lst_copy(list);
  89. lst_print(copia);
  90. return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement