Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Кольцевой двунаправленный список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, имеется ли среди чисел a, b, c хотя бы одна пара взаимно противоположных чисел http://www.cyberforum.ru/cpp-beginners/thread295473.html
Напишите пожалуйста вкратце хотя бы программу. Благодарю заранее
C++ Vector Помогите пожалуйста понять как обращатся к переменным членам класса через vector пример: #include<iostream> #include<vector> using namespace std; class Ab { public: http://www.cyberforum.ru/cpp-beginners/thread295455.html
Найти произведение положительных элементов массива C++
Написать программу на с++ В одномерном массиве, который состаит из n вещественных элементов, вычислить: 1) произведение положительных элементов массива; 2) сумму элементов массива,...
C++ кто может составить алгоритм к программе?
кто сможет составить алгоритм к данной программе?;) вот задание: В клетки квадрата размером n х n вписаны произвольно n2 первых чисел натурального ряда (n<7). От левой верхней клетки до правой...
C++ дана целочисленная прямоугольная матрица http://www.cyberforum.ru/cpp-beginners/thread295426.html
определить -сумму элементов в тех строках,которые содержат хотя бы один отрицательный элемент -номера строк и столбцов всех седловых точек матрицы ПРИМЕЧАНИЕ Матрица А имеет седловую точку...
C++ одномерный массив Помогите пожалуйста создать одномерный массив целых чисел используя датчик случайных чисел??? подробнее

Показать сообщение отдельно
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
14.05.2011, 19:59
Цитата Сообщение от Jaksn Посмотреть сообщение
Да я искал в интернете, но что-то так и не могу четко понять. Можешь разъяснить подробно как работать со списками, а то вообще засада у меня с ними.
Что конкретно непонятно? Что такое указатели известно? Список - это набор ячеек, соединенных между собой посредством указателей (каждая ячейка содержит указатель на следующую ячейку - как минимум -, и на предыдущую, если список двусвязный). То, что список кольцевой, означает, что указатель на следующую ячейку последнего элемента указывает на первый элемент списка (а указатель на предыдущий элемент первого элемента списка указывает на последний элемент).

Заглавное звено - это специальный элемент списка, указывающий на первый элемент. Он не хранит данные а лишь служит для упрощения доступа к списку, указывая на ячейку, с которой начинается построение списка.

Вот описание ячейки списка:

C++
1
2
3
4
5
struct item
{
    item* next,prev; //указатель на следующий и предыдущий элемент
    storage_type* storage; //указатель на данные в ячейке
}
Соответственно, обход списка осуществляется по принципу

C++
1
2
3
4
item* current; //ранее инициализированный текущий элемент списка. Идентификатор типа \
оставлен для понятности
current = current->next; //теперь current указывает на следующую ячейку списка.
current->storage; //а тут извлекаем значение из текущей ячейки
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru