Написать программу, которая создает двусвязный список или произвести ликбез по данной теме - C (СИ)
Формулировка задачи:
Ребят, кто может написать программу, которая создает двусвязный список или произвести ликбез по данной теме. У самого ничего не выходит. Не могу понять программы найденные в интернете. Так почему то все написано без функции malloc.
Решение задачи: «Написать программу, которая создает двусвязный список или произвести ликбез по данной теме»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> typedef struct node_t { int value; struct node_t* next; struct node_t* prev; } TNode; typedef struct list_t { TNode* head; TNode* tail; } TList; //----------------------------------------------------------------------------- void PushBack(TList* list, int value) { TNode* node = malloc(sizeof(TNode)); node->value = value; node->next = NULL; node->prev = list->tail; if (list->head && list->tail) { list->tail->next = node; list->tail = node; } else { list->head = list->tail = node; } } //----------------------------------------------------------------------------- void Print(const TList* list) { const TNode* node = list->head; for (; node; node = node->next) { printf("%d ", node->value); } printf("\n"); } //----------------------------------------------------------------------------- int main() { TList list = {NULL, NULL}; int i = 10; while (i--) { PushBack(&list, i + 1); } Print(&list); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д