Форум программистов, компьютерный форум CyberForum.ru

Сортировка стека методом вставки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить элемент из массива структур http://www.cyberforum.ru/cpp-beginners/thread596191.html
Необходимо удалить элемент из массива структур. Удаление производится что показывает этот код. Но записать в файл как ни пробовал не получается. struct gai {char FIO; }st; FILE *f; int n=5;
C++ Нахождение всех путей ориетированного графа Есть вектор с ребрами vector< vector<int> > g; Как найти все пути методом поиска в глубину например? Количество вершин, из каких в какие получается вся информация есть. Никак не получается. http://www.cyberforum.ru/cpp-beginners/thread596189.html
Не могу доделать C++
Вот код: #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int temp; vector <int> v; while(cin >> temp)
Классы и наследование, перегрузка операций, исключения C++
Всем привет! Срочно нужна помощь! задача такая: написать программу в которой описана иерархия классов: геометрические фигуры(куб, конус, тетраэдр). Реализовать методы вычисления объема и площади поверхности фигуры. Продемонстрировать работу всех методов классов предоставив пользователю выбор типа фигуры для демонстрации. Вот что получилось: class Figura { virtual void Print() = 0; virtual...
C++ одномерные массивы http://www.cyberforum.ru/cpp-beginners/thread596156.html
Создать числовой массив А.Значение N задается константой.Каждый элемент,равный нулю,заменить средним арифметическим всех элементов. Вывести на экран содержимое измененного массива.Составить блок схему
C++ Нахождение наименьшего значения элемента матрицы Составит программу для нахождения наименьшего значения элемента матрицы A.Результат вывести на экран составить блок схему подробнее

Показать сообщение отдельно
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
06.06.2012, 19:51     Сортировка стека методом вставки
Ну да, только дополнительный стек явно не задаётся, он получается за счёт рекурсивных вызовов. Так то, если без рекурсии, всё выглядит проще: снимаешь из стека до нужного места, кладёшь элемент, кладёшь всё снятое обратно. Примерно так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void push_sorted_stack(stack_t * stack, int value) {
   stack_t values;
   int top;
 
   init_stack(&values);
 
   while (!empty_stack(stack)) {
      top = top_stack(stack);
      if (top <= value) {
         break;
      }
      push_stack(&values, top);
      pop_stack(stack);
   }
 
   push_stack(stack, value);
 
   while (!empty_stack(&values)) {
      push_stack(stack, top_stack(&values));
      pop_stack(&values);
   }
}
 
Текущее время: 05:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru