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

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

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

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

15.06.2017, 18:40. Просмотров 126. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2017, 18:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Алгоритм сортировки стека с ограниченными условиями (C++):

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

Алгоритм сортировки - C++
Здравствуйте, подскажите пожалуйста какой алгоритм можно использовать при решении такой задачи: Дана строка char * из букв и цифр...

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

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

Алгоритм сортировки - C++
учитель попросил написать сортировку массива по возрастанию в общем виде #include <stdio.h> #include <string.h> int main() { ...

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

1
MrGluck
Модератор
Эксперт CЭксперт С++
7801 / 4845 / 754
Регистрация: 29.11.2010
Сообщений: 13,212
15.06.2017, 22:34 #2
Из разряда "не надо так". Хотя задача сортировать стек сама по себе бредовая.
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++
#include&lt;iostream.h&gt; #define SIZE 5 void bsort (int iArray, int n); int main() { char ch; int ii; int iArray ; for(ii =...

Алгоритм сортировки,ошибка! - C++
У меня алгоритм сортировки вставками но вот только не сортирует почему то #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...

Не работает алгоритм сортировки - C++
Не работает алгоритм сортировки Ни при заполнении псевдослучайными числами,ни при заранее заданных. Подскажите пожалуйста, в чем...

Алгоритм плавной сортировки (C++ -> Си) - C++
static void SmoothSort(String Aarg, const int N) { int temp; A = Aarg; q = 1; r = 0; p = 1; b = 1; c = 1; while...


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

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

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