fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct ElemTag {
  5. int value;
  6. struct ElemTag *next;
  7. struct ElemTag *prev;
  8. } ELEMENT;
  9.  
  10. void InsertElement(ELEMENT **head, int value)
  11. {
  12. ELEMENT *newelement;
  13. ELEMENT *current;
  14.  
  15. newelement = (ELEMENT *) malloc(sizeof(ELEMENT));
  16. newelement->value = value;
  17. newelement->next = NULL;
  18.  
  19. if (!*head)
  20. *head = newelement;
  21. else
  22. {
  23. current = *head;
  24.  
  25. while (current->next)
  26. current = current->next;
  27.  
  28. current->next = newelement;
  29. }
  30. }
  31.  
  32. void PrintList(ELEMENT *elem)
  33. {
  34. while (elem)
  35. {
  36. printf("Elem=%d\n", elem->value);
  37. elem = elem->next;
  38. }
  39. }
  40.  
  41. int main(void)
  42. {
  43. ELEMENT *head = NULL;
  44.  
  45. int values[] = {10, 50, 60, 30, 400, 12, -8, 77, 4, 5, 7, 6, 88, 0};
  46. int i;
  47.  
  48. for (i=0; i<sizeof(values)/sizeof(values[0]); i++)
  49. InsertElement(&head, values[i]);
  50.  
  51. PrintList(head);
  52. }
Success #stdin #stdout 0s 5280KB
stdin
Standard input is empty
stdout
Elem=10
Elem=50
Elem=60
Elem=30
Elem=400
Elem=12
Elem=-8
Elem=77
Elem=4
Elem=5
Elem=7
Elem=6
Elem=88
Elem=0