0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 73
1

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

10.03.2019, 20:49. Показов 632. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2019, 20:49
Ответы с готовыми решениями:

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

Создание однонаправленного списка
//создание однонаправленного списка (добавления в конец) ре- курсивным методом на языке Си ...

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

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

2
5231 / 2886 / 1207
Регистрация: 07.02.2019
Сообщений: 7,279
10.03.2019, 21:44 2
если это метод класса до достаточно наличия конструктора по умолчанию для типа 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  [ТС] 3
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2019, 13:36
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru