Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. /*
  2. ** EPITECH PROJECT, 2019
  3. ** double.c
  4. ** File description:
  5. ** double.c
  6. */
  7.  
  8. #include "double_list.h"
  9. #include <stdlib.h>
  10. #include <stdio.h>
  11.  
  12. unsigned int double_list_get_size(double_list_t list)
  13. {
  14. unsigned int len = 0;
  15.  
  16. while (list != NULL) {
  17. len++;
  18. list = list->next;
  19. }
  20. return (len);
  21. }
  22.  
  23. bool double_list_is_empty(double_list_t list)
  24. {
  25. return (list ? false : true);
  26. }
  27.  
  28. void double_list_dump(double_list_t list)
  29. {
  30. unsigned int len = 0;
  31.  
  32. while (list != NULL) {
  33. printf("%f\n", list->value);
  34. len++;
  35. list = list->next;
  36. }
  37. }
  38.  
  39. bool double_list_add_elem_at_front(double_list_t *front_ptr, double elem)
  40. {
  41. double_list_t new_node = malloc(sizeof(double_list_t));
  42.  
  43. if (new_node == NULL)
  44. return (false);
  45. new_node->value = elem;
  46. new_node->next = *front_ptr;
  47. *front_ptr = new_node;
  48. return (true);
  49. }
  50.  
  51. bool double_list_add_elem_at_back(double_list_t *front_ptr, double elem)
  52. {
  53. double_list_t new_node = malloc(sizeof(double_list_t));
  54. double_list_t temp = *front_ptr;
  55.  
  56. if (!new_node)
  57. return (false);
  58. new_node->value = elem;
  59. new_node->next = NULL;
  60. if (*front_ptr == NULL)
  61. *front_ptr = new_node;
  62. else {
  63. temp = *front_ptr;
  64. while (temp->next != NULL)
  65. temp = temp->next;
  66. temp->next = new_node;
  67. }
  68. return (true);
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement