Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 73

Создание кольцевого однонаправленного списка

10.03.2019, 20:49. Показов 1049. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли исправить функцию, чтобы создание происходило сразу всего списка как массива, не вводя пользователем каждое значение?
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
25
26
27
28
//создание циклического однонаправленного списка 
void Make_Circle_Single_List(int n,
       Circle_Single_List** Head,Circle_Single_List* Loop){
    if (n > 0) {
        (*Head) = new Circle_Single_List();
        //выделяем память под новый элемент
        if (Loop == NULL) Loop = (*Head);
        cout << "Введите значение ";
        cin >> (*Head)->Data;
        //вводим значение информационного поля
        (*Head)->Next=NULL;//обнуление адресного поля
        Make_Circle_Single_List(n-1,&((*Head)->Next),Loop);
    }
    else {
        (*Head) = Loop;
    }
}
 
//печать циклического однонаправленного списка
void Print_Circle_Single_List(Circle_Single_List* Head) {
    Circle_Single_List* ptr=Head; 
    //вспомогательный указатель
    do {
       cout << ptr->Data << "\t";
       ptr=ptr->Next;
    } while (ptr!=Head);
    cout << "\n"; 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2019, 20:49
Ответы с готовыми решениями:

Шаблон однонаправленного кольцевого списка
Доброго времени суток. Мне необходимо написать шаблон однонаправленного кольцевого списка. Данные в списке должны состоять из...

Создание однонаправленного списка
//создание однонаправленного списка (добавления в конец) ре- курсивным методом на языке Си void make_list(int n, List** Head) {...

Создание однонаправленного списка
Запишите все необходимые объявления (типов и переменных) для создания в программе на языке C++ однонаправленного списка людей...

2
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
10.03.2019, 21:44
если это метод класса до достаточно наличия конструктора по умолчанию для типа Data и определить push_back() и clear() например:
C++
1
2
template<class Data>
void List<Data>::re_Make_List(size_t n){clear(); while(n){push_back(Data()); --n;}}
0
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 73
11.03.2019, 13:36  [ТС]
zayats80888, а если я делаю так?
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
25
struct Circle_Single_List
{               //структура данных
    char Data;   //информационное поле
    Circle_Single_List *Next; //адресное поле
};
Circle_Single_List *Head; //указатель на первый элемент списка
                           //Circle_Single_List *Current;
                           //указатель на текущий элемент списка (при необходимости)
                           //создание циклического однонаправленного списка 
void Make_Circle_Single_List(int n,
    Circle_Single_List** Head, Circle_Single_List* Loop) {
    if (n > 0) {
        (*Head) = new Circle_Single_List();
        //выделяем память под новый элемент
        if (Loop == NULL) Loop = (*Head);
        cout << "Введите значение ";
        cin >> (*Head)->Data;
        //вводим значение информационного поля
        (*Head)->Next = NULL;//обнуление адресного поля
        Make_Circle_Single_List(n - 1, &((*Head)->Next), Loop);
    }
    else {
        (*Head) = Loop;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2019, 13:36
Помогаю со студенческими работами здесь

Создание линейного однонаправленного списка
Добрый вечер!Написала программу создания линейного списка и вывод его на экран с клавиатуры и из файла.Вроде бы всё верно и программа даже...

Реализация кольцевого списка на СТЛ
Добрый день! Появилось несколько вопросов в ходе выполнения задания. Само задание звучит так: Реализовать шаблон контейнерного класса...

Сортировка слиянием кольцевого списка
Есть класс двусвязного кольцевого списка и итератор к нему-шаблоны. не могу довести до ума сортировку слиянием для этого списка и понять...

Сортировка кольцевого двусвязного списка (пузырьковая)
Доброго дня! Помогите пожалуйста разобраться с сортировкой кольцевого двухсвязного списка. У меня при попытке отсортировать выводит ошибку ...

Нахождение и изменение элемента двунаправленного кольцевого списка
помогите дополнить код,что бы можно было найти элемент введенный с клавиатуры и заменить его другим элементом( тоже введенным с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru