Написать программу, которая создает двусвязный список или произвести ликбез по данной теме - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.556 из 5
Похожие ответы