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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Leoleshucov008
13 / 13 / 1
Регистрация: 23.02.2010
Сообщений: 221
#1

Указатель на список в элементе списка - C++

09.03.2013, 12:06. Просмотров 275. Ответов 8
Метки нет (Все метки)

Есть реализация списка с помощью структуры описывающей указатель на список, и структуры одного элемента списка.
Нужно что бы в элементе списка был указатель на другой список. Но проблема в объявлении типов. Как можно реализовать такое?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Узел списка
typedef struct list {
    struct list *previous;
    char val;
    list_exm* more;
    struct list *next;
} node;
 
 
//Список
typedef struct {
    int size;
    node *first;
} list_exm;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2013, 12:06     Указатель на список в элементе списка
Посмотрите здесь:

C++ Проверка, пуст ли список, очистка списка, печать списка в направлении от верха к низу
C++ Создать список студентов с оценками по нескольким дисциплинам. Отсортировать список по убыванию среднего балла. Имеющих двойки удалить из списка.
C++ Удалить из списка все элементы с нечётными значениями и вывести указатель p2 на начало преобразованного списка.
Как в элементе управления CListCtrl поймать нажатие определенной клавиши на элементе? C++
C++ Список: Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка?
Динамический список, беглый указатель C++
Организовать ввод в однонаправленный список, узел списка состоит из двух полей: целое число и указатель C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
09.03.2013, 13:03     Указатель на список в элементе списка #2
Добавьте в начало предварительное объявление :
C++
1
struct list_exm;
Возможно придется добавить struct в 5 строку.
Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
09.03.2013, 13:03     Указатель на список в элементе списка #3
Forward declaration:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct list_exm;
 
//Узел списка
struct node {
    struct list *previous;
    char val;
    list_exm* more;
    struct list *next;
};
 
 
//Список
struct list_exm{
    int size;
    node *first;
};
От typedef вообще лучше избавиться, это пережиток C (там надо было при объявлении каждой переменной-структуры писать struct).
Leoleshucov008
13 / 13 / 1
Регистрация: 23.02.2010
Сообщений: 221
09.03.2013, 13:29  [ТС]     Указатель на список в элементе списка #4
Desu_Is_A_Lie, пишет Too many types in declaration.
Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
09.03.2013, 13:41     Указатель на список в элементе списка #5
В MSVC проблем нет. Вы точно собираете C++ проект, а не C?
И кусок кода хорошо было бы увидеть.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.03.2013, 13:50     Указатель на список в элементе списка #6
Скорее, он так и не убрал тайпдефы.

Не по теме:

Лучшая реализация связных списков на структурах, что я видел, — в ядре Linux. После неё любые попытки сделать как-то по-другому выглядят для меня ужасно.

Leoleshucov008
13 / 13 / 1
Регистрация: 23.02.2010
Сообщений: 221
09.03.2013, 13:55  [ТС]     Указатель на список в элементе списка #7
Цитата Сообщение от Desu_Is_A_Lie Посмотреть сообщение
В MSVC проблем нет. Вы точно собираете C++ проект, а не C?
И кусок кода хорошо было бы увидеть.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <conio.h>
#include <stdio.h>
#include <alloc.h>
 
// Глобальные переменные
struct list_exm;
// Узел списка
struct node {
    node *previous;
    char val;
    list_exm* more;
    node *next;
}
 
// Список
struct  list_exm{//Ругается на эту строчку
    int size;
    node *first;
};
Собираю в Embarcadero Rad Studio 2010, проект c++, хоть и пишу на Си.
Desu_Is_A_Lie
62 / 62 / 3
Регистрация: 26.02.2012
Сообщений: 114
09.03.2013, 14:01     Указатель на список в элементе списка #8
В 13 строчке после } пропущена ;.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2013, 14:04     Указатель на список в элементе списка
Еще ссылки по теме:

Шаблон класса двусвязного списка, метод, возвращающий указатель C++
C++ Получить указатель на элемент двунаправленного списка, добавить значение в начало списка и очистить его
Организовать ввод в однонаправленный список. Узел списка состоит из двух полей: целое число и указатель. Не C++
C++ Как получить указатель на объект класса из списка std::list?
Два значения в одном элементе списка C++

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

Или воспользуйтесь поиском по форуму:
Leoleshucov008
13 / 13 / 1
Регистрация: 23.02.2010
Сообщений: 221
09.03.2013, 14:04  [ТС]     Указатель на список в элементе списка #9
Цитата Сообщение от Desu_Is_A_Lie Посмотреть сообщение
В 13 строчке после } пропущена ;.
Точно.
Yandex
Объявления
09.03.2013, 14:04     Указатель на список в элементе списка
Ответ Создать тему
Опции темы

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