Другие языки программирования и технологии
Связанные списки на с++;
Напишите пожалуйста самый просто связанный список на с++ (или приложите ссылку на очень подробный гайд); к примеру: пусть в структурном элементе списка будет одна переменная в которую мы записываем что-то и (тот момент, который я не могу понять, точнее как он реализуется в коде) указатель на предыдущий и последующий элемент списка. если можно с пояснениями. Заранее спасибо)
http://kpolyakov.spb.ru/school/c.htm
11 класс школы, там пдф откройте
11 класс школы, там пдф откройте
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
namespace Somni
{
class List
{
private:
int value;
List *next;
public:
List(int value, List *next)
{
this->value = value;
this->next = next;
}
List(int value)
{
this->value = value;
}
void set_node(List *next)
{
this->next = next;
}
int get_value()
{
return value;
}
List* get_node()
{
return next;
}
static List* Building_list(size_t n)
{
List *next_node = new List(0);
List *old_node = new List(0);
List *on = old_node;
for (size_t u = 0u; u < n; ++u)
{
int t = 0;
cin >> t;
if (u == 0u)
{
old_node = new List(t);
on = old_node;
}
else
{
next_node = new List(t);
old_node->set_node(next_node);
old_node = next_node;
}
}
next_node->set_node(NULL);
return on;
}
void push_back(int t)
{
List *scroll = this;
List *scroll2 = this;
List *next_node = new List(t);
next_node->set_node(NULL);
for (; scroll != NULL;)
{
scroll = scroll->get_node();
if (scroll != NULL)
{
scroll2 = scroll;
}
}
scroll2->set_node(next_node);
}
void read_list()
{
auto on = this;
for (; on != NULL;)
{
cout << on->get_value() << " ";
on = on->get_node();
}
cout << endl;
}
};
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL));
system("color 0A");
cout << "Укажите длину списка ";
size_t n;
cin >> n;
cout << "Введите значения элементов списка через пробел" << endl;
auto list = Somni::List::Building_list(n);
list->push_back(14);
cout << "Содержание листа" << endl;
list->read_list();
system("pause");
return 0;
}

#include <windows.h>
#include <ctime>
using namespace std;
namespace Somni
{
class List
{
private:
int value;
List *next;
public:
List(int value, List *next)
{
this->value = value;
this->next = next;
}
List(int value)
{
this->value = value;
}
void set_node(List *next)
{
this->next = next;
}
int get_value()
{
return value;
}
List* get_node()
{
return next;
}
static List* Building_list(size_t n)
{
List *next_node = new List(0);
List *old_node = new List(0);
List *on = old_node;
for (size_t u = 0u; u < n; ++u)
{
int t = 0;
cin >> t;
if (u == 0u)
{
old_node = new List(t);
on = old_node;
}
else
{
next_node = new List(t);
old_node->set_node(next_node);
old_node = next_node;
}
}
next_node->set_node(NULL);
return on;
}
void push_back(int t)
{
List *scroll = this;
List *scroll2 = this;
List *next_node = new List(t);
next_node->set_node(NULL);
for (; scroll != NULL;)
{
scroll = scroll->get_node();
if (scroll != NULL)
{
scroll2 = scroll;
}
}
scroll2->set_node(next_node);
}
void read_list()
{
auto on = this;
for (; on != NULL;)
{
cout << on->get_value() << " ";
on = on->get_node();
}
cout << endl;
}
};
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL));
system("color 0A");
cout << "Укажите длину списка ";
size_t n;
cin >> n;
cout << "Введите значения элементов списка через пробел" << endl;
auto list = Somni::List::Building_list(n);
list->push_back(14);
cout << "Содержание листа" << endl;
list->read_list();
system("pause");
return 0;
}

Похожие вопросы
- Нужно организовать связанный список на с++.
- Список с использованием указателей на Си
- C++ :Разработать пользовательскую библиотеку для работы с односвязным списком (использовать динамическую память).
- помогите с прогой на с++ списки
- C++. Указатели. Связный список. Как добавить элемент в конец списка? Вопрос для разбирающихся
- списки С\С++
- Создать список из повторяющихся слов текста из файла. Первый элемент-наиб. часто повторяющееся слово/ Паскаль. (+)
- Имеется список женихов и список невест.
- Даже незнаю как сформулировать вопрос =) ДВусвязный Списки!!!! Или вопрос для ПРОшаренных математиков
- Работа с динамическими списками в Делфи!