IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> шаблон класса очередь на С++, может у кого есть?
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Нужен очень шаблон класса "очередь" на С++, с простыми операциями, такими как вставить новый элемент в очередь, взять вершину очереди, проверка на пустоту очереди, размер очереди, вывод элементов и т.п. Может у кого есть что-нить подобное? smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Максим

Репутация: -  0  +


Большое спасибо smile.gif
Вот эту функцию можно пояснить еще:


template <class T>
T queue <T> :: pop (void) {
if (end < 0) {
cout << "Empty.\n";
return 0;
}
T value = q[begin];
for(int i = 0; i < end; ++i) q[i] = q[i + 1];
end -= 1;
return value;
}



Что такое: T value = q[begin]; ?
И что делается в цикле и почему i++ и end -= 1?


--------------------
Я не боюсь казаться смешным. Хмм..это не каждый может себе позволить...
Чтобы избежать критики, ничего не делайте, ничего не говорите, будьте никем...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(w@rlock @ 8.01.2007 18:28)

Что такое:
T value = q[begin];
?
Запоминание первого (головного) элемента для того, чтобы вернуть его значение из функции...
Цитата(w@rlock @ 8.01.2007 18:28)
И что делается в цикле и почему i++ и end -= 1?

В цикле происходит последовательный сдвиг всех элементов до "хвостового" включительно на 1 позицию влево - т.е., ближе к "голове", ибо произошло выталкивание одного элемента из очереди, остальные должны занять его место... Обойму пистолетную в руках держал? Когда вытаскиваешь верхний патрон, все остальные сдвигаются, правда? Здесь то же самое (несмотря на то, что что к обойме более применимо понятие стека)...

А end -= 1 это уменьшаем номер "хвостового" элемента на 1, один элемент из очереди ушел...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
lays   шаблон класса очередь на С++   23.12.2006 15:19
мисс_граффити   в FAQ есть это все на паскале. Ну и поиском пользу…   23.12.2006 15:35
volvo   Здесь выкладывался шаблонный class TQueue: моделир…   23.12.2006 16:47
w@rlock   С шаблонами и классами работаю первый раз. Попытал…   7.01.2007 20:43
volvo   Измени showHead вот так, и посмотри, ЧТО ты пытаеш…   7.01.2007 21:16
w@rlock   volvo Да и правда… :) Но теперь вообще запутался…К…   8.01.2007 0:14
Алена   Значит, так... Проблема - в том, что такой способ…   8.01.2007 0:59
w@rlock   Большое спасибо :) Вот эту функцию можно пояснить…   8.01.2007 23:28
volvo   Что такое: [code=cpp]T value = q[begin]; ?Запомин…   8.01.2007 23:38
lays   Алена, volvo, w@rlock здорово :) :good: правда …   8.01.2007 23:36
lays   volvo спасибо. :cool: :) но почему ++i, а не i…   9.01.2007 1:46
volvo   А для отдельно стоящего оператора это не играет ро…   9.01.2007 3:07
lays   да. но ведь в данном примере в цикле pop при ++i з…   9.01.2007 18:04
volvo   for(int i = 0; i < end; ++i) q[i] = q[i + 1];ан…   9.01.2007 18:22
w@rlock   а вот если ещё конструктор копирования написать св…   10.01.2007 21:55
w@rlock   Писал-писал этот шаблон, а так и не сдал :( Сказал…   11.01.2007 18:57
volvo   Ссылка на то, как правильно - в третьем сообщении …   11.01.2007 19:01
w@rlock   он у меня не компилится просто...:( тем более как …   11.01.2007 19:15
lays   Я тут тоже очередь пытаюсь всё сделать (некоторые …   12.01.2007 3:14
volvo   Не знаю, что там может НЕ компилиться... Вот выдра…   12.01.2007 6:11
Bokul   Извиняюсь за оффтоп: Где его можно скачать? Он к…   12.01.2007 6:27
volvo   Компилит, причем ТОЛЬКО под ДОС... Качать здесь: h…   12.01.2007 6:44


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.11.2024 3:03
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name