Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
 Аватар для fire_Rising
10 / 11 / 7
Регистрация: 11.05.2016
Сообщений: 113

Создать динамический односвязный или двусвязный список

26.06.2016, 11:49. Показов 4628. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, как создать динамический односвязный или двусвязный список(Описать структуру). Я не могу понять, чем он отличается от обычного списка( да и вообще сам список, это же и есть динамическая структура). Приведу в пример обычный односвязный список.
C++
1
2
3
4
5
6
7
8
9
10
11
struct TInfo {
    int key;
};
struct List {
    TInfo Info;
    List *next;
};
void main() {
    setlocale(LC_ALL, "Russian");
    List *Begin = NULL;
    List *End = NULL;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2016, 11:49
Ответы с готовыми решениями:

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов
Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный список студентов. Помогите пожалуйста,...

Создать динамический шаблонный класс односвязный список - List
помогите пожалуйста с задание в универ задали и я вот сижу парюсь! буду очень вам благодарен Создать динамический шаблонный класс...

Заменить массив структур на односвязный список, и на двусвязный список
Взять текст задания и заменить массив структур на односвязный список, и на двусвязный список using namespace std; class person { ...

9
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.06.2016, 12:10
Лучший ответ Сообщение было отмечено fire_Rising как решение

Решение

Список можно построить и не динамически. Описать все узлы как переменные и настроить указатели.
1
 Аватар для fire_Rising
10 / 11 / 7
Регистрация: 11.05.2016
Сообщений: 113
26.06.2016, 12:18  [ТС]
Не могли бы привести пример обычного и динамического? В данном случае мы при заполнении будем указатель end смещать, пока не введем нужное количество элементов( это и значит динамический?)
0
 Аватар для fire_Rising
10 / 11 / 7
Регистрация: 11.05.2016
Сообщений: 113
26.06.2016, 12:20  [ТС]
Нужна помощь в составлении структуры( без классов и тп) двусвязного списка и пример его заполнения. Заранее спасибо!
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.06.2016, 12:21
Если узлы будешь через new создавать, то динамический. Вроде так.
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.06.2016, 12:22
Лучший ответ Сообщение было отмечено fire_Rising как решение

Решение

Кроме указателя на следующий элемент, добавь ещё и на предыдущий.
1
 Аватар для fire_Rising
10 / 11 / 7
Регистрация: 11.05.2016
Сообщений: 113
26.06.2016, 12:29  [ТС]
Т.е. Вот будет динамический?, сейчас приведу пример заполнения
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct TInfo {
    int key;
};
struct List {
    TInfo Info;
    List *next;
};
void main() {
    setlocale(LC_ALL, "Russian");
    List *Begin = NULL;
    List *End = NULL;
    Begin->Info.key = 20//заполнили первый элемент
    Begin->next = NULL;
    End = Begin;
    int N;
    cout << "vvedite N";
    cin>>N;
    for (int i=0; i<N;i++) {
    End->next = new List;
    End = End->next;
    cin>> End->Info.key;
    End->next=NULL;
}
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.06.2016, 12:34
Под begin почему не выделяется память?
1
 Аватар для fire_Rising
10 / 11 / 7
Регистрация: 11.05.2016
Сообщений: 113
26.06.2016, 12:37  [ТС]
Извиняюсь. Теперь все верно? Динамическмй односвязный список?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
struct TInfo {
    int key;
};
struct List {
    TInfo Info;
    List *next;
};
void main() {
    setlocale(LC_ALL, "Russian");
    List *Begin = NULL;
    List *End = NULL;
    Begin = new List;
    Begin->Info.key = 20//заполнили первый элемент
    Begin->next = NULL;
    End = Begin;
    int N;
    cout << "vvedite N";
    cin>>N;
    for (int i=0; i<N;i++) {
    End->next = new List;
    End = End->next;
    cin>> End->Info.key;
    End->next=NULL;
}
0
 Аватар для fire_Rising
10 / 11 / 7
Регистрация: 11.05.2016
Сообщений: 113
26.06.2016, 12:49  [ТС]
Добрый день! Нужна помощь в составлении структуры( без классов и тп) двусвязного линейного списка и его ввода(инициализации). Очень надо! Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.06.2016, 12:49
Помогаю со студенческими работами здесь

Двусвязный в односвязный список
Добрый день.Помогите,пожалуйста,переделать программу,обрабатывающую двухсвязный список,для обработки односвязного списка. :( Листинг: ...

Преобразовать односвязный список в двусвязный
Нужна помощь в написании следующей программы: Дана односвязная цепочка и указатель на ее первый элемент, нужно преобразовать данную цепочку...

Преобразовать односвязный список в двусвязный
Привет всем!) У меня проблема такого плана: есть односвязный список: //------вспомогательный класс-------// class elemspiska ...

Преобразовать односвязный список в двусвязный список
Доброго времени суток! Помогите, пожалуйста, преобразовать программу из односвязного списка в двусвязный. Спасибо. #include...

Односвязный, двусвязный список, стек, очередь
В общем, всем кто нуждается. Баггов вы не найдете. Односвязный список #include &lt;iostream&gt; #include &lt;windows.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru