Форум программистов, компьютерный форум 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
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
04.06.2012, 23:00     Сортировка стека методом вставки
Если правильно понял то так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdlib.h>
#include <stdio.h>
 
 
#define MAX_STACK_SIZE 128
 
typedef struct {
   int buffer[MAX_STACK_SIZE];
   size_t top;
} stack_t;
 
void init_stack(stack_t * stack) {
   stack->top = 0;
}
 
int empty_stack(stack_t const* stack) {
   return stack->top == 0;
}
 
int top_stack(stack_t const* stack) {
   return stack->buffer[stack->top - 1];
}
 
void pop_stack(stack_t * stack) {
   --stack->top;
}
 
void push_stack(stack_t * stack, int value) {
   stack->buffer[stack->top++] = value;
}
 
void push_sorted_stack(stack_t * stack, int value) {
   int top;
   
   if (!empty_stack(stack)) {
      top = top_stack(stack);
      
      if (top > value) {
         pop_stack(stack);
         push_sorted_stack(stack, value);
         push_stack(stack, top);
         return;
      }
   }
   
   push_stack(stack, value);
}
 
void print_stack(stack_t const* stack) {
   size_t i;
   
   for (i = 0; i != stack->top; ++i) {
      printf("%d ", stack->buffer[i]);
   }
   printf("\n");
}
 
 
int main() {
   stack_t sorted;
   stack_t unsorted;
   int i;
   
   init_stack(&unsorted);
   for (i = 9; i != 0; --i) {
      push_stack(&unsorted, (i * 17) % 25);
   }
   printf("unsorted: ");
   print_stack(&unsorted);
   
   init_stack(&sorted);
   for (i = 9; i != 0; --i) {
      push_sorted_stack(&sorted, (i * 17) % 25);
   }
   printf("sorted:   ");
   print_stack(&sorted);
 
   return EXIT_SUCCESS;
}
http://liveworkspace.org/code/0e4608...e2ce59413bcd0c
 
Текущее время: 08:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru