Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Nickck
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 14
#1

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов - C++

24.12.2015, 17:27. Просмотров 453. Ответов 2

Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный список студентов.
Помогите пожалуйста, никак не могу разобраться с этой темой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2015, 17:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов (C++):

Создать динамический односвязный или двусвязный список - C++
Помогите, как создать динамический односвязный или двусвязный список(Описать структуру). Я не могу понять, чем он отличается от обычного...

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

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

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

Односвязный, двусвязный список, стек, очередь - C++
В общем, всем кто нуждается. Баггов вы не найдете. Односвязный список #include <iostream> #include <windows.h> using...

Возможно ли как-то переделать односвязный список в двусвязный? - C++
Собственно вопрос в названии. Возможно ли переделать односвязный список в двусвязный? Или проще написать программу наново? Вот сама...

2
olya7
489 / 306 / 93
Регистрация: 18.02.2013
Сообщений: 738
24.12.2015, 20:53 #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include <cmath>
#include <cstring>
#include <fstream>
 
using namespace std;
struct s
{
    char fio[15];
    s *next;
};
struct ochered
{
    s groop;
    ochered *next,*prev;
};
s* cr(s *begin)
{
    int n;
    cout<<"Enter count of students ";
    cin>>n;
    for(int k=1;k<=n;k++)  {
            s* i=new s;
    char str[50];
    cout<< "Enter fio "<<k<<"studenta " ;
    cin>>str;
    strcpy(i->fio,str);
    i->next=begin;
    begin=i;
    }
 
    return begin;
}
void v(s *begin,int k)
{
    cout<<"New list of "<<k<<"  "<<endl;
    s *i=begin;
    if (begin==NULL)
    {
        cout<<"Groop is empty";
        return;
    }
    while(i!=NULL)
    {
        cout<<i->fio<<endl;
        i=i->next;
    }
    cout<< endl;
}
void f(s *begin)
{
    s *i;
    while (begin!=NULL)
    {
        i=begin;
        begin=(begin)->next;
        delete i;
    }
    cout<<"Memory if free"<<endl;
}
void create(ochered **b, ochered **e)
{
 
    ochered *tek=new ochered;
    s *b1=NULL;
    tek->groop=*cr(b1);
    tek->next=NULL;
    if (*b==NULL)
    {
        tek->prev=NULL;
        *b=*e=tek;
    }
    else{
        tek->prev=*e;
        (*e)->next=tek;
        *e=tek;
    }
   // return tek;
}
 
void view(ochered *begin)
{
    ochered *i=begin;
    if (begin==NULL)
    {
        cout<<"Faculty is empty";
        return;
    }
    int k=1;
    while(i!=NULL)
    {
        cout<<"Info about "<<k<<" groop:"<<endl;
        s *ind=&(i->groop);
        v(ind, k);
        //cout<<i->groop->fio<<endl;
 
        i=i->next;k++;
    }
    cout<<endl;
}
void free(ochered **begin)
{
    ochered *i;
    while (*begin!=NULL)
    {
 
        i=*begin;
        s &ind=(*begin)->groop;
 
        f(&ind);
        *begin=(*begin)->next;
        delete i;
    }
    cout<<"Memory if free"<<endl;
}
int main()
{
    ochered *begin=NULL,*end=NULL;
    int n;
    cout<<"Enter number of grups ";
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        cout<< "Enter info about "<<i<<" groop"<<endl;
        create(&begin,&end);
    }
    view(begin);
    cout<<endl;
 
    free(&begin);
    return 0;
}
2
Nickck
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 14
24.12.2015, 21:25  [ТС] #3
olya7, Благодарю :-) попробуем разобраться
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2015, 21:25
Привет! Вот еще темы с ответами:

Односвязный (двусвязный) список - поиск людей по минимальному и максимальному возрасту - C++
Здравствуйте форумчане. Имеется задание: Для структуры из Вашего варианта работы 6 сформировать динамический односвязный или двусвязный...

Реализовать иерархию классов, включающую в себя односвязный и двусвязный список - C++
Нужно реализовать иерархию классов, включающую в себя односвязный и двусвязный список. При компиляции программа выдает ошибку:&quot;Ошибка 1...

Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке - C++
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке.

Реализовать односвязный список студентов - C++
В моем коде нужно реализовать односвязный список, нужно реализовать операцию вставки нового элемента в отсортированный список и реализовать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.