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

Сравнение элементов стеков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатель на функцию http://www.cyberforum.ru/cpp-beginners/thread1186396.html
#include "stdafx.h" #include <clocale> #include <iostream> #include <conio.h> using std::cout; using std::cin; int comp(const void *a, const void *b) { return *(char*)a - *(char*)b; }
C++ Максимальный поток минимальной стоимости Вечер добрый, нашел программу работает, выдает как я понял максимальный поток и минимальную стоимость. Вопрос в следующем, как там матрица пропускных способностей задается? И если не сложно поясните код пожалуйста. #include <queue> #include <vector> #include <climits> #include <iostream> using namespace std; typedef long long ll; typedef pair<int, int> pii; http://www.cyberforum.ru/cpp-beginners/thread1186392.html
C++ Пузырьковая сортировка
#include <iostream> #include <fstream> using namespace std; int main() { const int n = 5; int a; ifstream f("C:\\Users\\ÀÍÄÐÅÉ\\Desktop\\5 ÷èñåë.txt");
Синхронизация семафорами+ общая память C++
3 потока. Синхронизация с помощью семафоров. Используется общая память. Вопрос состоит в том, как определить количество байт, нужных для выделения в общей памяти? Размер вектора у нас изменяется после инициализации указателя *a //verctor with our calculaded sums of equal elements //we`re finding our first&last max elements for rows and columns void calc_res_v (vector <int> v_res,const...
C++ Указатель this в конструкторе копирования http://www.cyberforum.ru/cpp-beginners/thread1186346.html
Добрый всем вечер. Подскажите пожалуйста, как правильно применить в конструкторе копирования указатель this? Вот есть код. Правильно ли тут применен этот указатель? #include "stdafx.h" #include <iostream> using namespace std;
C++ Определить симметричность матрицы испльзуя указатели Задание, определить симметричность матрицы с помощью указателей. Не могу никак разобраться с указателями, но что-то написала (просьба не смеяться:) ) Меня интересует как обратится к элементам матрицы что бы сравнить их. p.s. Программа не работает, все время пишет что матрица симметрична. #include <iostream> #include <conio.h> using namespace std; int main() подробнее

Показать сообщение отдельно
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
24.05.2014, 10:49     Сравнение элементов стеков
MaxKosh, по определению стека вы можете смотреть только на верхний элемент.Если Вам нужны действительно стеки, то нужно где-то запоминать, какие элементы мы уже заносили в стек, в какой-то отдельной структуре.

Тут можно поступить по-разному.Можно, как уже писали выше, использовать std::vector, но тогда запрос на нахождение элемента в векторе будет работать за O(N).Это плохо.

Можете сами написать какое-нибудь дерево сбалансированное: Декарта, АВЛ, Splay и другие.Или тоже самое красно-чёрное - вам будет полезно, и определить, есть ли элемент в структуре мы уже моем за О(logN).Но и добавление элемента тоже за О(logN).Это уже круче.А лучше, чтобы не париться, подключите просто set - это и есть красно-чёрное дерево с хорошей реализацией и асимптотикой.

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

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