Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct listNode{
- int value;
- struct listNode* next;
- struct listNode* previous;
- } listNode;
- listNode* add(listNode* nextNode, int value){
- listNode* newNode = (listNode*)malloc(sizeof(listNode));
- newNode->previous = (listNode*)malloc(sizeof(listNode));
- newNode->value = value;
- newNode->previous = nextNode->previous;
- newNode->next = nextNode;
- if(nextNode->previous == NULL){
- nextNode->previous = (listNode*)malloc(sizeof(listNode));
- }
- if(nextNode->previous->next == NULL){
- nextNode->previous->next = (listNode*)malloc(sizeof(listNode));
- }
- nextNode->previous->next = newNode;
- nextNode->previous = newNode;
- return newNode;
- }
- int main(void){
- listNode* wlst;
- listNode* list = (listNode*)malloc(sizeof(listNode));
- list->value = 5;
- list->next = NULL;
- list->previous = NULL;
- list = add(list, 10);
- add(list->next, 100);
- add(list->next, 200);
- add(list->next, 300);
- while(list != NULL){
- printf("%d \n", list->value);
- list = list->next;
- }
- }
- /*
- Napisać deklarację struktury, która może być wykorzystana do utworzenia listy dwukierunkowej. Struktura zawiera
- składową całkowitą oraz dwa wskaźniki. Jeden ze wskaźników wskazuje następną strukturę listy, drugi poprzednią.
- Pierwsza i ostatnia struktura listy zawierają wskaźniki puste (znajdujący się w pierwszej strukturze listy wskaźnik
- przeznaczony do wskazania poprzedniej struktury listy oraz znajdujący się w ostatniej strukturze lisy wskaźnik, który
- ma wskazywać następną strukturę przyjmują wartość NULL). Jedna ze struktur listy jest wskazywana przez wskaźnik
- o nazwie wlst. Napisać deklarację tego wskaźnika.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement