Advertisement
Qanar

Chef war beim Zahnarzt 8 Uhr Frust

Mar 29th, 2022 (edited)
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.87 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /**************************START PROTOTYPES**************************/
  5.  
  6. // Entwerfen Sie einen typedef struct, mit Aufrufnamen, Integer, next Zeiger.
  7.  
  8. typedef struct node {
  9.     int data;
  10.     struct node* next;
  11. } node;
  12.  
  13. //Generieren Sie einen head.
  14. node* head;
  15.  
  16. //Node operations  
  17. void append(int data);
  18. void arrayToLinkedList(int data[], int sizeOfArray);
  19.  
  20. void printList();
  21. void freeList();
  22.  
  23. /***************************END PROTOTYPES***************************/
  24.  
  25. /******Insert functions********/
  26. void append(int data) {
  27.  //#include <stdlib.h> dynamischen Speicher für die newNode anlegen.
  28.     node* newNode = malloc(sizeof(node));
  29.     newNode->data = data;
  30.     newNode->next = NULL;
  31.  
  32.     if (head == NULL) { //head gets its first data
  33.         head = newNode;
  34.         return;
  35.     }
  36.     // Zeiger zum scrollen bis Null und Verkettung erstellen.
  37.     node* zeiger;
  38.     zeiger = head;
  39.     while (zeiger->next != NULL) {
  40.         zeiger = zeiger->next;
  41.     }
  42.     zeiger->next = newNode;
  43.  
  44.     return;
  45. }
  46. void arrayToLinkedList(int data[], int sizeOfArray) {
  47.  // Unser gesamtes Array soll in die linked List auf einmal eingefügt werden.
  48.     for (int i = 0; i < sizeOfArray; i++)
  49.         append(data[i]);
  50.     return;
  51. }
  52.  
  53. /******Helper functions********/
  54. void freeList() {
  55.     node* tmp = head;
  56.     printf("The time has come\nthe walrus said\nto talk of many things.\n");
  57.  
  58.     while (head != NULL) {
  59.         tmp = head->next; //->next one gets saved
  60.         free(head);
  61.         head = tmp;       //->back into new iteration
  62.     }
  63. }
  64.  
  65. /*******Print functions*********/
  66. void printList() {
  67.     //Trigger Cutscene Prof Kodierung
  68.     if (head == NULL) {
  69.         return;
  70.     }
  71.     node* zeiger = head;
  72.     while (zeiger != NULL) {
  73.         printf("%d ", zeiger->data);
  74.         if (zeiger->data == 95)printf("\n");//Story content ignore that line
  75.         zeiger = zeiger->next;
  76.     }
  77.     printf("\n\nlinear linked List\n----------------------\n");
  78.     return;
  79. }
  80.  
  81. void main() { // //jetzt folgt aufbau der linked list ++| array/string to linked list ++| void bitShiftListHalf | void printMP3 linked List |
  82.     head = NULL;
  83.  
  84.     int intString[] = { //shifted // das d von dark fehlt whyever
  85.  
  86.   174, 194, 214, 202, 64, 218, 202, 64,
  87.   234, 224, 64, 210, 220, 230, 210, 200,
  88.   202, 190, 230, 194, 236, 202, 64, 218,
  89.   202, 190, 134, 194, 216, 216, 64, 218,
  90.   242, 64, 220, 194, 218, 202, 64, 194,
  91.   220, 200, 64, 230, 194, 236, 202, 64,
  92.   218, 202, 64, 204, 228, 222, 218, 64,
  93.   232, 208, 202, 64, 200, 194, 228, 214,
  94.   190, 238, 194, 214, 202, 64, 218, 202,
  95.   64, 234, 224 };
  96.  
  97.     int size = sizeof(intString) / sizeof(int);
  98.     //printf("  %d  sizeof(Array)\n", size);
  99.  
  100.     arrayToLinkedList(intString, size);
  101.  
  102.     // append(3); append(27); append(27); append(27);
  103.  
  104.  
  105.  
  106.  
  107.     printList();
  108.     freeList();
  109. }
  110.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement