Advertisement
wa12rior

Untitled

Jun 16th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct listNode{
  4.     int value;
  5.     struct listNode* next;
  6.     struct listNode* previous;
  7. } listNode;
  8.    
  9. listNode* add(listNode* nextNode, int value){
  10.     listNode* newNode = (listNode*)malloc(sizeof(listNode));
  11.     newNode->previous = (listNode*)malloc(sizeof(listNode));
  12.  
  13.     newNode->value = value;
  14.     newNode->previous = nextNode->previous;
  15.     newNode->next = nextNode;
  16.    
  17.     if(nextNode->previous == NULL){
  18.         nextNode->previous = (listNode*)malloc(sizeof(listNode));
  19.     }
  20.     if(nextNode->previous->next == NULL){
  21.         nextNode->previous->next = (listNode*)malloc(sizeof(listNode));
  22.     }
  23.     nextNode->previous->next = newNode;
  24.     nextNode->previous = newNode;
  25.  
  26.     return newNode;
  27. }
  28.  
  29.  
  30. int main(void){
  31.     listNode* wlst;
  32.    
  33.     listNode* list = (listNode*)malloc(sizeof(listNode));
  34.    
  35.     list->value = 5;
  36.     list->next = NULL;
  37.     list->previous = NULL;
  38.    
  39.     list = add(list, 10);
  40.     add(list->next, 100);
  41.     add(list->next, 200);
  42.     add(list->next, 300);
  43.    
  44.     while(list != NULL){
  45.         printf("%d \n", list->value);
  46.         list = list->next;
  47.     }
  48. }
  49.  
  50.  
  51.  
  52.  
  53.  
  54. /*
  55. Napisać deklarację struktury, która może być wykorzystana do utworzenia listy dwukierunkowej. Struktura zawiera
  56. składową całkowitą oraz dwa wskaźniki. Jeden ze wskaźników wskazuje następną strukturę listy, drugi poprzednią.
  57. Pierwsza i ostatnia struktura listy zawierają wskaźniki puste (znajdujący się w pierwszej strukturze listy wskaźnik
  58. przeznaczony do wskazania poprzedniej struktury listy oraz znajdujący się w ostatniej strukturze lisy wskaźnik, który
  59. ma wskazywać następną strukturę przyjmują wartość NULL). Jedna ze struktur listy jest wskazywana przez wskaźnik
  60. o nazwie wlst. Napisać deklarację tego wskaźnika.
  61.        
  62. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement