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

Массив списков, как создать? - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
maSt
 Аватар для maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
24.12.2012, 13:16     Массив списков, как создать? #1
У меня есть структура такого типа
C++
1
2
3
4
5
6
class Lancuch
{
public:
    char cos;
    Lancuch * nastepny;
};
И массив структур.
C++
1
    Lancuch * elem= new Lancuch[n];
А как для каждого элемента массива создать односвязный список и запомнить его начало?

Я пытался написать сначала для одного списка,а потом переделать под массив , но ничего не работает.
Особенно не работает когда я пытаюсь создать еще один массив для хранения в нем указателя на начало каждого списка.

Добавлено через 1 час 4 минуты
Перерыл все просторы интернета , ничего внятного на этот счет нету(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 13:16     Массив списков, как создать?
Посмотрите здесь:

C++ Указатель на массив списков
C++ Стек-массив динамических списков
C++ Создать модель файловой системы на основе связанных списков
C++ Создать меню с 6-ю элементами с помощью классов и списков
C++ Нужно создать статический массив строк как статический массив указателей на строки. Условние ниже -->
Шаблон класса: из двух списков создать один C++
Массив указателей списков смежных вершин C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex_pac
 Аватар для Alex_pac
1281 / 687 / 8
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
24.12.2012, 13:22     Массив списков, как создать? #2
храни в векторах
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.12.2012, 13:26     Массив списков, как создать? #3
maSt, массив списков есть массив указателей на их первые элементы, или самих первых элементов в зависимости от того, могут ли списки быть пустыми.
maSt
 Аватар для maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
24.12.2012, 13:36  [ТС]     Массив списков, как создать? #4
Цитата Сообщение от taras atavin Посмотреть сообщение
maSt, массив списков есть массив указателей на их первые элементы, или самих первых элементов в зависимости от того, могут ли списки быть пустыми.

То есть, если я заполняю списки в массиве так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    cin >> numer;
            cin >> p;
            if (elem[numer]==NULL) 
            {
                elem[nomer].cos=p;
                elem[nomer].sled=NULL;
            }
            else
            {
                elem[nomer].sled = new Lancuch;
                elem[nomer] = elem[nomer].sled ;
                elem[nomer].cos=p;
                elem[nomer].sled=NULL;
 
            }
То для того чтобы вывести начиная с первого элемента я должен буду написать
C++
1
while(elem[nomer]!=NULL)
?
И посмотрите пожалуйста как я заполняю список в этом массиве. По логике все должно работать, на практике ничего не работает.
Avazart
Нарушитель
6954 / 5192 / 256
Регистрация: 10.12.2010
Сообщений: 22,777
Записей в блоге: 17
24.12.2012, 13:37     Массив списков, как создать? #5
Цитата Сообщение от Alex_pac Посмотреть сообщение
храни в векторах
В таком случае придется определить конструтоРы и оператор =
maSt
 Аватар для maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166
24.12.2012, 14:22  [ТС]     Массив списков, как создать? #6
И почему при записи
C++
1
elem==NULL
все идет нормально
а при
C++
1
elem[nomer]==NULL
какая между этим разница?
И там, и там я проверяю есть ли эллемент , но как я вижу что-то тут не так

Добавлено через 29 минут
Черт, я просто в ступоре. Если кто знает хорошую статью об этом, то скиньте пожалуйста.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2012, 15:57     Массив списков, как создать?
Еще ссылки по теме:

C++ Массив и память. Как создать динамический массив?
Как создать динамический массив типа string? Как создать класс такого массива? C++
List и Vector, создать массив списков и перебрать все элементы C++
C++ Массив списков vector<list<int>>. Поиск
C++ Массив указателей на заголовки списков

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1238 / 987 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
24.12.2012, 15:57     Массив списков, как создать? #7
Ну, это... Просто список — это указатель на Lancuch. То есть вам надо массив указателей на Lancuch.
C++
1
2
3
typedef Lancuch *List;
// ...
List* = new List[n];
Пустой список, соответственно, это NULL.
Yandex
Объявления
24.12.2012, 15:57     Массив списков, как создать?
Ответ Создать тему
Опции темы

Текущее время: 13:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru