Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Релизация очереди на с++


Рекомендуемые сообщения

Здравствуйте форумчане, не могли бы вы мне помочь в реализации очереди в виде двусвязного списка на с++. Я понимаю какие должны быть переменные какие указатели, мне не понятен сам смысл реализации этого в с++, а именно вид написания. Очередь имеет указатели на начала и конец списка, а так же в этом случае имеет указатели на следующую и предыдущие записи. Есть указатель с помощью которого перемещаемся в очереди. Можете конечно направить изучать книги, но в книгах для меня не совсем все понятно. Если Вам не трудно помогите пожалуйста. Не прошу громоздких кодов, хотя бы функцию вставки в очередь элементов и желательно с комментарием. Заранее благодарю.

Ссылка на комментарий
Поделиться на другие сайты

Мадера:

не могли бы вы мне помочь в реализации очереди в виде двусвязного списка
Несколько странное задание. Очередь есть очередь, а список есть список. В очереди элемент добавляется в конец очереди, а выходит из начала очереди. В стеке (стопке) элемент добавляется в верхушку стека и берется оттуда же, так что более старые элементы нельзя вытащить, пока не избавишься от того, что на верхушке. А в списке мы можем бегать по нему туда и сюда и вытащить и вставить элемент в любом месте списка. То есть в очереди двусвязность списка ни к чему. По описанию из задания это не очередь, а двусвязный список.

Так или иначе: в теме Связанные списки в С++ пример и разбор связанного списка на C++ из книги Дж. Либерти, правда, односвязного, но дополнить еще одним методом несложно. Тут написанный мной на C++ пример двусвязного списка, он проще, так как я не стал вводить классы, при замене ввода-вывода на scanf и printf он и на на простом C пошел бы. Тут очередь на C++ на основе классов, но это нормальная очередь, написанная по заданию от Pathfinder'а, без возможности влезать в ее середину, и там можно было бы реализацию и упростить, но в задании требовалось для работы с очередью использовать перегруженные операции ++ и --, которые там ни к селу, ни к городу - как я понимаю, смысл задания был в показе перегрузки операций.

Ссылка на комментарий
Поделиться на другие сайты

Да но нам выдают именно такие задания как реализация стека в виде массива. А тут очередь заданно в виде двухсвязного списка.

Да но нам выдают именно такие задания как реализация стека в виде массива. А тут очередь заданно в виде двухсвязного списка. Но все равно спасибо. Буду разбираться. Попробую написатьчто требуется.

Ссылка на комментарий
Поделиться на другие сайты

Мадера: двухсвязаный список... говорите... :blush2: на сколько я помню 2-й том тов. Кнута (а может и 3-й) - это есть дек, те массив динамических данных обладающих свойствами стека и очереди, а двухсвязаный список это усечённая реализация дека.

Просто мысли вслух :g:

PS И вот ещё. Ув. Мадера алгоритмической и программной реализации вашей задачи в интернете - "море", достаточно забить требуемое/искомое в Google.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за подсказку, знаете пробовала искать как алгоритм так и программу для моей задачи. И как-то ничего особого не нашлось. Уж не знаю может не так искала. Найти отдельно очередь и двусвязный список проблем не составит. Но если бы люди иногда объясняли, что они пишут. Пусть не все по ступенечкам, а хотя бы не большое пояснение.

И очередь все-таки отличается от дека. В деке можно прибавлять и удалять элементы как с конца так и с начала. А в очереди подобное не допускается. Почему-то есть очередь в виде массива, в виде списка, а вот двусвязной очереди не встречала!

Как только разберусь в написании моей задачи так выложу, если возникнут вопросы обязательно обращусь к Вам дорогие форумчане!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...