Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
zemixx
0 / 0 / 0
Регистрация: 21.02.2015
Сообщений: 2
1

Алгоритм сортировки стека с ограниченными условиями

15.06.2017, 18:40. Просмотров 740. Ответов 1

Друзья! Помогите с алгоритмом.
Суть следующая:
Есть 2 стека. В первом записано N int элементов, второй стек - пуст.
Задача - отсортировать элементы в первом стеке, для этого можно использовать 2й стек и только следующие команды:
push1 - перекинуть верхний элемент 1го стека во 2й
push2 - перекинуть верхний элемент 2го стека в 1й

rev1 - перекинуть первый элемент 1го стека в конец 1го стека
rev2 - перекинуть первый элемент 2го стека в конец 2го стека

swap1 - свап 1 и 2 элемента 1го стека
swap2 - свап 1 и 2 элемента 2го стека

rot1 - перекинуть последний элемент 1го стека на первое место 1го стека
rot2 - перекинуть последний элемент 2го стека на первое место 2го стека

Дополнительные стеки и другие команды использовать запрещено.
Сортировка должна использовать минимальное количество перебрасываний элементов.

Простой проход по стеку и выбор макс/мин значений за проход - слишком много итераций тянет за собой.

подскажите идеи хотя бы в псевдокоде для размышлений
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2017, 18:40
Ответы с готовыми решениями:

Переполнение стека в рекурсивной функции сортировки большого массива
Написал рекурсивную функцию сортировки массива, с массивами небольших размеров все работает как...

Алгоритм сортировки
учитель попросил написать сортировку массива по возрастанию в общем виде #include <stdio.h>...

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

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

Алгоритм сортировки
Здравствуйте, подскажите пожалуйста какой алгоритм можно использовать при решении такой задачи:...

1
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,398
15.06.2017, 22:34 2
Лучший ответ Сообщение было отмечено zemixx как решение

Решение

Из разряда "не надо так". Хотя задача сортировать стек сама по себе бредовая.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <algorithm>
#include <iostream>
#include <stack>
 
int main()
{
    std::stack<int> st {{1, 5, 3, 4, 2}};
    using cnt = decltype(st)::container_type;
    std::sort(reinterpret_cast<cnt*>(&st)->begin(), reinterpret_cast<cnt*>(&st)->end());
    while (!st.empty())
    {
        std::cout << st.top() << " ";
        st.pop();
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2017, 22:34

Алгоритм Быстрой Сортировки на C++
Можно ли этот алгоритм использовать для последовательности чисел? Просто в книге Сэджвика...

Алгоритм сортировки в файле
Никак не могу придумать как отсортировать массив значений. Есть файл, в котором находятся данные...

Комбинированый алгоритм сортировки
Нужно написать програму на языке С когда имеется алгоритм ! Задача в слудуещем: сортировка масива с...


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

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

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