Quick actions

cmd+k|ctrl+k

Navigation

Languages

Двунаправленный список (Старый вариант)

Snippet info

Language

Cpp

Visibility

public

Author

svobodatimur

Created

2021-04-08T17:38:27.210457Z

Updated

2021-04-08T17:38:27.210457Z

#include <iostream>
using namespace std;

struct Node
{
    float data; // данні.
    Node *Next, *Prev; // покажчик на наступний та попередній елементи.
};

class List{
    Node *Head, *Tail; // покажчик на перший та останній елементи списку
public:
    List():Head(NULL),Tail(NULL){}; // конструктор створення пустого списку
    ~List(); // деструктор
    void Add(float data); // додавання елементів до списку
};

List::~List()
{
    while(Head) // доки головний елемент не NULL
    {
        Tail=Head->Next; // перевизначаємо хвіст
        delete Head; // видаляємо голову
        Head=Tail; //визначаємо нову голову
    }
}

void List::Add(float data){
    Node *temp = new Node; // стврення нового елементу
    temp->Next = temp->Prev = NULL; // покажчик встановлено на наступний
    temp->data = data; // запис даних
    if (Head!=NULL){
        temp->Prev = Tail;
        Tail->Next = temp;
        Tail = temp;
    }
    else{
        temp->Prev = NULL;
        Head=Tail=temp;
    }
}


int main() {
    List list;
    list.Add(1.52);
    list.Add(4.2424);
    return 0;
}
INFO