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

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

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

Очереди - C++

08.10.2012, 00:54. Просмотров 430. Ответов 6
Метки нет (Все метки)

В очередь можно добавлять элемент только в конец, а удалят только сначала. Вопрос в следующем: если мне дана к примеру последовательность 3 5 6 4 7 и мне нужно удалить элемент 5, как это сделать? можете написать хотя бы алгоритм? не понятно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 00:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Очереди (C++):

Очереди. Каким образом считать две очереди из одного текстового файла? - C++
Здравстуйте. В задании первый пункт состоит в том, что нужно сформировать две очереди по n элементов с помощью считки данных из...

Найдите суммарную длину строк, принадлежащих очереди, кроме первой строки очереди - C++
Создать очередь строковых значений, для реализации используя односвязные списки.Реализовать операции добавления (enqueue) и удаления...

Извлечь из очереди начальные элементы и вывести их значения и новые адреса начала и конца очереди - C++
Дано число N (> 0) и указатели P1 и P2 на начало и конец непустой очереди. Извлечь из очереди N начальных элементов и вывести их значения...

Создание очереди и удаление элемента очереди по усмотрению пользователя - C++
Вот код он создает очередь и должен удалить элемент очереди по усмотрению пользователя проблема заключается в том что при попытки удалить...

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

Очереди. Дан массив. Создать две очереди, первая должна содержать все нечетные, а вторая - все четные - C++
Очереди. Дан массив. Создать две очереди, первая должна содержать все нечетные, а вторая - все четные числа из исходного набора; порядок...

6
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
08.10.2012, 01:04 #2
Ну как, это напрямую зависит от того, как реализована очередь. Существует два варианта реализации: связный список и циклический массив:
Код
Циклический массив:
 h               t
 |               |
[3] [5] [6] [4] [7]

     h           t
     |           |
[3] [3] [6] [4] [7]

Связный список:
h                   t
|                   |
3 -> 5 -> 6 -> 4 -> 7

h                   t
|                   |
3 ------> 6 -> 4 -> 7
0
Tattoquardas
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 21
08.10.2012, 01:06  [ТС] #3
у меня связный список. то есть мы тупо удаляем элемент, перебрасывая указатель на следующий и используя delete?
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
08.10.2012, 01:09 #4
Именно. Внимательно с граничными случаями только (начало, конец и пустая очередь).
0
Tattoquardas
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 21
08.10.2012, 01:11  [ТС] #5
в чем же тогда смысл самой очереди?..
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
08.10.2012, 01:14 #6
Именно в этих отдельных методах "забрать с начала" и "добавить в конец". У очереди ж нет метода "добавить после n-го элемента"? Максимум есть только "удалить n-ый элемент" (обычно его тоже нет). Фактически это ограниченный список, да. Смысл именно в этом ограничении.
1
Tattoquardas
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 21
08.10.2012, 01:19  [ТС] #7
спасибо большое за обьяснения!
0
08.10.2012, 01:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 01:19
Привет! Вот еще темы с ответами:

Объединить две очереди в одну, как создать две очереди - C++
"Объединить две очереди в одну, чередуя элементы первой и второй очереди. Основной вопрос как создать две очереди? точнее даже три, в...

Очереди - C++
Привет всем!!!)) Вот у меня такая задачка: необходимо реализовать очередь, содержащую запись состоящую из двух полей: имени и...

Очереди (С) - C++
Доброго времени суток. Необходима помощь в задаче Разработать функцию, которая упорядочит элементы очереди по возрастанию (в процессе...

Очереди - C++
Привет всем. Прошу помощи с заданием. Дано натуральное число n, действительные числа r1,...,rn. получить последовательность:...


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

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

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