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

Список - C++

Восстановить пароль Регистрация
 
Demonhunterus
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
03.10.2010, 14:48     Список #1
Доброго всем времени суток.
Столкнулся с таким вот заданием:
сформировать документ,в котором сохраняется информация о заболеваемости сотрудников:Ф.И.О, год рождеия,заболевание,длительность болезни.На его основе сформировать список сотрудников,которые перенесли одно и то же заболевание.
Есть код интерфейса АТД "Список"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <class Item,class Key> class List
{
private:
// программный код,зависящий от реализации
public:
List()
~List();
void add(Item);
Item *search(Key);
Item *insert(Item,Item);
boll remove(Item);
void print();
}
;
Подскажите,как лучше это реализовать всё?
Читать список из подготовленного ранее txt файла или можно как-то иначе?
Использовать сортировку,чтобы вывести список сотрудников,перенесших одно и то же заболевание,или можно без сортировки обойтись?
Использовать одно- или двухсвязный список?
Вот такая вот проблема Помогите,кто чем может.

Нарыл вот ещё какие коды.
Запись связных список в файл и считывание их из файлов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ofstream outfile(file Name);
{for (Node *t=head;t!=Null;t=t->next)
outfile << t->item<<endl;
outfile close();}
-------------------------------- Запись
ifstream infile(file Name);
{ int next Item;
if (infile>>next Item)
{head=new Node;
head->item=next item;
head->next=NULL;
tail=head
while(infile>>next item)
{tail->next=new Node;
tail=tail->next;
tail->item=next item;
tail->next=Null;
}
} infile close();}
---------------------считывание из файла
В коде могут быть ошибки!Если есть(а они точно есть),ткните,пожалуйста,где...(код нашел у друга в конспекте,но почерк у него не очень...)

Добавлено через 53 минуты
Нашел похожую тему,но программа на Паскале http://www.cyberforum.ru/pascal/thre...ead171747.html
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2010, 14:48     Список
Посмотрите здесь:

C++ std::sort. Как сортировать список? (список указателей на объект)
Список: связный список, в котором информация о книгах сортируется по убыванию стоимости. C++
C++ 3 класса: список, стек(как список), очередь(как список)
list. Cоздать список из результатов(с массивами), а потом просмотреть весь список C++
C++ создать список л3 из элементов входящих и в список л1 и в список л2
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Demonhunterus
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
08.10.2010, 19:31  [ТС]     Список #2
Ну хоть чем-нибудь помогите
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
08.10.2010, 19:38     Список #3
Обязательно нужно велосипед изобретать (делать свой класс-список) или можно стандартными средствами?
Demonhunterus
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
09.10.2010, 10:03  [ТС]     Список #4
Можно стандартными.Можно чем угодно,главное,чтоб работало

Добавлено через 13 часов 59 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <fstream>
#include <iostream>
#include <list>
#include <string>
#include <cstdlib>
 
using namespace std;
int main()
{
  ifstream file("c:\\1.txt");
  list<string> my_list;
  while(!file.eof())
  {
    string val;
    file>>val;
    my_list.push_back(val);
  }
  file.close();
}
Нашел вот такое считывание из файла,но строку не получается считать целиком,а пробел в файле .txt считается переходом на новую строку т.е. если в файле будет написано
Иванов 1980 ОРЗ 4мес.
то программа выведет
Иванов
1980
Орз
4мес.
Можно как-то это изменить,чтоб программа считывала и выводила строку целиком?
Или все же проще вводить всё с клавиатуры,сделав что-то типа:
стрка fio = фамилии
birth=год рождения
bol=болезнь и т.д.
и при сравнении обращаться к вот этой вот bol?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
09.10.2010, 15:15     Список #5
Demonhunterus,
C++
1
 std::getline(file, val);
До конца строчки считывает в переменную.
Demonhunterus
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
10.10.2010, 18:34  [ТС]     Список #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <fstream>
#include <iostream>
#include <list>
#include <string>
#include <cstdlib>
 
using namespace std;
int main()
{
  ifstream file("c:\\1.txt");
  list<string> my_list;
  while(!file.eof())
  {
    string val;
    file>>val;
    std::getline(file, val);
    cout<<val<<endl;
  }
  file.close();
  system("PAUSE");
}
не выводит первое слово строки(Если строка "Иванов Иван Иванович 1980",то выводит только "Иван Иванович 1980")...Знаю,накосячил,тыкните мордой,где?

Добавлено через 3 часа 36 минут
Нашел 2 схожих темы,может кто-то поможет это дело заточить под мое задание?
http://www.cyberforum.ru/cpp-beginne...397-page2.html
Составить базу данных о квартирах дома (от 6 до 12). Для каждой квартиры указать номер, жилую площадь, общую площадь, количество жильцов...

Добавлено через 12 часов 47 минут
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
#pragma hdrstop
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
 
struct WORKER
{
char fam[15];
char bol[15];
int date;
int dlit;
};
 
void Input(WORKER *x);
void Read(WORKER *x);
void Find(WORKER *x);
 
int main(int argc, char* argv[])
{
system("cls") ;
 
int n;
char ex;
WORKER work[5], *ptr;
do
{
system("cls") ;
 
cout<<"Добро пожаловать, в базу данных рабочих, выберите (< 1 – 4 >) : \n"<<endl;
cout<<"\t 1 – Ввод информации о рабочих."<<endl;
cout<<"\t 2 – Просмотр информации о рабочих."<<endl;
cout<<"\t 3 – Поиск рабчих."<<endl;
cout<<"\t 4 – Выход из системы."<<endl;
 
cin>>n;
switch (n)
{
case 1 :
Input(work);
break;
case 2 :
Read(work);
break;
case 3 :
Find(work);
break;
case 4 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>ex;
if (ex=='n') ex='n';
break;
default:
cout<<"\a\t Не умничай , повтори ввод! :)";
cout<<"\n\a Нажми любую кнопку ";
getch();
exit(1);
}
} while (n!=4);
 
}
 
//////////////Input information////
 
void Input(WORKER *x)
{
int i;
for(i=0;i<5;i++)
{
system("cls") ;
cout<<" [ Ввод данных о рабочем ] "<<i+1<<"";
cout<<"\t Введите фамилию рабочего : ";
cin>>x[i].fam;
cout<<"\n\t Введите заболевание рабочего : ";
cin>>x[i].bol;
cout<<"\n\t Введите год рождения рабочего (xxxx.г) : ";
cin>>x[i].date;
cout<<"\n\t Введите длительность болезни рабочего : ";
cin>>x[i].dlit;
}
}
 
void Read(WORKER *x)
{
int var;
system("cls") ;
cout<<"\t Просмотр информации о рабочих"<<endl<<endl;
 
cout<<"Фамилия. Заболевание. Год рождения. Длительность болезни"<<endl;
 
for(int i=0;i<5;i++)
{
cout<<x[i].fam;
var=15-(strlen(x[i].fam));
for(int j=1;j<var;j++)cout<<" ";
cout<<x[i].bol;
var=15-(strlen(x[i].bol));
for(int j=1;j<var;j++)cout<<" "; 
cout<<x[i].date<<endl;
cout<<x[i].dlit<<endl;
}
getch();
if (strlen(x[0].fam) == 0)
{
system("cls") ;
cout<<"\t База пуста \a"<<endl;
cout<<"\n\a Нажмите любую кнопку ";
getch();
}
}
 
void Find(WORKER *x)
 
{
int abc,k;
char *fami,xi;
 
system("cls") ;
 
cout<<"\t Поиск рабочих, введите по чему искать : "<<endl;
cout<<"1 – Поиск по фамилии"<<endl;
cout<<"2 – Поиск по заболеванию"<<endl;
cout<<"3 – Поиск по году рождения"<<endl;
cout<<"4 – Поиск по длительности болезни"<<endl;
cout<<"5 – Выход"<<endl;
cin>>abc;
if(abc<0 || abc>5)
{
cout<<"Такой категории не существует, повторите ввод.";
cin>>abc;
}
 
switch (abc)
{
case 1 :
system("cls") ;
cout<<"Введите фамилию для поиска – ";
cin>>fami;
for(int i=0;i<5;i++)
{
if (strcmp(x[i].fam,fami)==0)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
break;
case 2 :
system("cls") ;
cout<<"Введите заболевание для поиска – ";
cin>>fami;
for(int i=0;i<5;i++)
{
if (strcmp(x[i].bol,fami)==0)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
case 3 :
system("cls") ;
int god;
cout<<"Введите год для поиска (гггг) – ";
cin>>god;
if (god<1999 || god>2003)
{
cout<<"Ошибка ввода даты, повторите ввод (1990-2003)"<<endl;
cin>>god;
}
for(int i=0;i<5;i++)
{
if (x[i].date == god)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
 
case 4 :
system("cls") ;
int dlit;
cout<<"Введите длительность болезни для поиска – ";
cin>>dlit;
for(int i=0;i<5;i++)
{
if (x[i].date == god)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
 
case 5 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>xi;
if (xi=='n') abc=5;
break;
default :
cout<<"\a\t Не умничай :)";
getch();
exit(1);
break;
}
}
Нашел такой вот исходник.Почикал его немного.Не знаю,прокатит сдать такую штуку,а не через List реализованную,но попытаюсь.А теперь внимание вопросы:
1)В "Просмотре информации о рабочих" длительность болезни выводится не в той же строчке,что и имя-год рождения и т.д. рабочего,а с новой строки.Как исправить?
2)В "Поиске рабочих" работает только "Поиск по дате рождения".При попытке поиска по фамилии программа вылетает.При попытке поиска по длительности болезни программа ничего не выводит.Где ошибка?
Помогите разобраться и исправить Затыкаю "спасибками"!
P.S.:А если кто к этому и List применит - до полусмерти затыкаю "Спасибками"!!! ))

Добавлено через 24 минуты
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#pragma hdrstop
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
 
struct WORKER
{
char fam[15];
char bol[15];
int date;
int dlit;
};
 
void Input(WORKER *x);
void Read(WORKER *x);
void Find(WORKER *x);
 
int main(int argc, char* argv[])
{
system("cls") ;
 
int n;
char ex;
WORKER work[5], *ptr;
do
{
system("cls") ;
 
cout<<"Добро пожаловать, в базу данных рабочих, выберите (< 1 – 4 >) : \n"<<endl;
cout<<"\t 1 – Ввод информации о рабочих."<<endl;
cout<<"\t 2 – Просмотр информации о рабочих."<<endl;
cout<<"\t 3 – Поиск рабчих."<<endl;
cout<<"\t 4 – Выход из системы."<<endl;
 
cin>>n;
switch (n)
{
case 1 :
Input(work);
break;
case 2 :
Read(work);
break;
case 3 :
Find(work);
break;
case 4 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>ex;
if (ex=='n') ex='n';
break;
default:
cout<<"\a\t Не умничай , повтори ввод! :)";
cout<<"\n\a Нажми любую кнопку ";
getch();
exit(1);
}
} while (n!=4);
 
}
 
//////////////Input information////
 
void Input(WORKER *x)
{
int i;
for(i=0;i<5;i++)
{
system("cls") ;
cout<<" [ Ввод данных о рабочем ] "<<i+1<<"";
cout<<"\t Введите фамилию рабочего : ";
cin>>x[i].fam;
cout<<"\n\t Введите заболевание рабочего : ";
cin>>x[i].bol;
cout<<"\n\t Введите год рождения рабочего (xxxx.г) : ";
cin>>x[i].date;
cout<<"\n\t Введите длительность болезни рабочего : ";
cin>>x[i].dlit;
}
}
 
void Read(WORKER *x)
{
int var;
system("cls") ;
cout<<"\t Просмотр информации о рабочих"<<endl<<endl;
 
cout<<"Фамилия. Заболевание. Год рождения. Длительность болезни"<<endl;
 
for(int i=0;i<5;i++)
{
cout<<x[i].fam;
var=15-(strlen(x[i].fam));
for(int j=1;j<var;j++)cout<<" ";
cout<<x[i].bol;
var=15-(strlen(x[i].bol));
for(int j=1;j<var;j++)cout<<" "; 
cout<<x[i].date<<endl;
cout<<x[i].dlit<<endl;
}
getch();
if (strlen(x[0].fam) == 0)
{
system("cls") ;
cout<<"\t База пуста \a"<<endl;
cout<<"\n\a Нажмите любую кнопку ";
getch();
}
}
 
void Find(WORKER *x)
 
{
int abc,k;
char *fami,xi;
 
system("cls") ;
 
cout<<"\t Поиск : "<<endl;
cout<<"1 – Поиск по заболеванию"<<endl;
cout<<"2 – Выход"<<endl;
cin>>abc;
if(abc<0 || abc>2)
{
cout<<"Такой категории не существует, повторите ввод.";
cin>>abc;
}
 
switch (abc)
{
case 1 :
system("cls") ;
cout<<"Введите заболевание для поиска – ";
cin>>fami;
for(int i=0;i<5;i++)
{
if (strcmp(x[i].bol,fami)==0)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
 
case 2 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>xi;
if (xi=='n') abc=5;
break;
default :
cout<<"\a\t Не умничай :)";
getch();
exit(1);
break;
}
}
Ещё больше почикал код.Но поиск всё равно не работает и вылетает программа при попытке поиска по болезни+к при просмотре не выводятся в нужных строках длительности болезней.
И всё-таки,видимо прийдется к этому применить List Помогииитееее!

Добавлено через 6 часов 4 минуты
Вобщем,я так понял,что нашел совсем не то,что мне нужно...
А нужно мне всё сделать через вот этот вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <class Item,class Key> class List
{
private:
// программный код,зависящий от реализации
public:
List()
~List();
void add(Item);
Item *search(Key);
Item *insert(Item,Item);
boll remove(Item);
void print();
}
;
На форуме не могу что-то найти хоть какой-то более-менее схожей реализацией вот этого вот List.Помогите кто чем может Я уже запарился с этой долбаной лабой...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2010, 22:11     Список
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Demonhunterus
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
16.10.2010, 22:11  [ТС]     Список #7
Нашел код+подогнал под свое задание
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <cstring>
 
using namespace std;
 
struct base {
  char fio [30]; // ФИО сотрудника
  char bolezn [50]; // Название болезни
  int dlit;         // Длительность болезни
  base *prev;       // Указатель на предыдущую запись
  base *next;       // Указатель на следующую запись
};
 
base *first = NULL; // Указатель на начало списка
base *last = NULL;  // Указатель на конец списка
 
 
int List (void);   
 
void AddItem (void)
{
  base *db;
 
  // создаем новую структуру
  db = new base;
  // заполняем её
  cout << "Введите фамилию сотрудника: ";
  cin >> db->fio;
  cout << "Введите название болезни: ";
  cin >> db->bolezn;
  cout << "Введите длительность болезни: ";
  cin >> db->dlit;
  // добавляем в список
  if (last != NULL) // если список уже существует
  {
    db->prev = last;
    db->next = NULL;
    last->next = db;
    last = db;
  }
  else              // если список ещё не создан
  {
    db->prev = NULL;
    db->next = NULL;
    first = db;
    last = db;
  };
}
 
 
void DeleteItem (void)
{
  // выводим список всех структур
  int i = List ();
  int num;
 
  cout << "Введите номер удаляемой записи ";
  cin >> num;
  if (num < 1 || num > i) return;
 
  base *db = first;
  // находим указатель на удаляемую структуру
  for (i = 1; i < num; i++)
  {
    db = db->next;
  }
  // удаляем её
  if (db)
  {
    if (db->prev) db->prev->next = db->next;
    if (db->next) db->next->prev = db->prev;
    if (db == first) first = first->next;
    if (db == last) last = last->prev;
    delete db;
  };
}
 
 
void Input (void)
{
  bool enough = false;
 
  do
  {
    AddItem (); // заполняем очередную структуру
    cout << "Продолжить ввод информации? (y/n)" << endl;
    if (getch () == 'n') enough = true;
  }
  while (!enough);
}
 
 
void Find (void)
{
  base *db = first;
  char name[20]=" ";
  int i=0;
  cout<<"Введите название болезни :";
  cin>>name;
  cout << "Результаты поиска:" << endl;
  while (db)
  {
    if (!strcmp(db->bolezn,name)) // проверяем запись
    {
        cout << db->fio << " "
            << db->bolezn << " "
            << db->dlit << endl;
        i++;
    }
    db = db->next; // переходим к следующей записи
  }
  if (i==0)cout<<"Поиск не дал результата";
}
 
 
int List (void)
{
  base *db = first;
  int i = 0;
 
  cout << endl << "В списке содержатся:" << endl;
  while (db)
  {
    i++;
    cout << i << ". " << db->fio << " " << db->bolezn << " " << db->dlit << endl;
    db = db->next;
  }
  return i;
}
 
 
int Menu (void)
{
  char ch = 0;
 
  // Выводим список возможных вариантов выбора
  cout << "Ваш выбор:" << endl;
  cout << "1. Сформировать список" << endl;
  cout << "2. Печать списка" << endl;
  cout << "3. Добавить в список" << endl;
  cout << "4. Удалить из списка" << endl;
  cout << "5. Поиск в списке" << endl;
  cout << "6. Выход" << endl;
 
  // ожидаем нажатия правильной клавиши
  while (ch < '1' || ch > '6')
  {
    ch = getch ();
  }
 
  // осуществляем выбор согласно набраной клавише
  switch (ch)
  {
    case '1': Input (); break;
    case '2': List (); break;
    case '3': AddItem (); break;
    case '4': DeleteItem (); break;
    case '5': Find (); break;
    case '6': return 0;
  };
  return 1;
}
 
int main (void)
{
    while (Menu ()); // цикл,пока пользователь не выбрал Выход
    return 0;
}
Помогите переделать прогу под односвязный список(в этом варианте - двухсвязный и как его перечикать в односвязный - понятия не имею).Нашел такие вот примеры,но не могу ни один из них толком тут задействовать.

1)Список циклический,никогда не бывает пустым:
C++
1
2
3
4
5
6
7
первая вставка: head->next = head;
вставка t после x: t->next=x->next; x->next=t;
удаление после x: x->next=x->next->next
цикл обхода: t=head;
                   do {... t=t>next;}
                   while (t!=head);
проверка на наличие лишь одного элемента: if (head->next==head)
2)Ведущий указатель,null-указатель завершающего узла
C++
1
2
3
4
5
6
инициализация: head=0;
вставка t после x: if (x==0) {head=t; head->next=0;}
                           else {t->next=x->next;x->next=t;}
Удаление после x: t=x->next; x->next=t->next;
цикл обхода: for (t=head;t!=0;t=t->next)
Проверка на пустоту: if (head=0)
3)Фиктивный ведущий узел,null-указатель завершающего узла
C++
1
2
3
4
5
6
инициализация: head=new node;
                       head->next=0;
вставка t после x: t->next=x->next;x->next=t;
удаление после x: t=x->next;x->next=t->next
цикл обхода: for(t=head->next;t!=0;t=t->next)
проверка на пустоту: if(head->next=0)
Гуру форума,ну помогите же простому смертному
Yandex
Объявления
16.10.2010, 22:11     Список
Ответ Создать тему
Опции темы

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