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

Tree, set, map etc. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оцените код http://www.cyberforum.ru/cpp-beginners/thread252409.html
//-------------------------------------------------- //1.Динам. одномерный массив Х заполнить функцией rand() //2.Симметрические числа скопировать в Y массив //3.Сортировать Y //4.Те числа, которые после сортировки не меняли свое место - скопировать в Z массив //-------------------------------------------------- #include <iostream> #include <stdlib.h> #include <time.h>
C++ Необходимо перейти с С# на С++ Привет всем! Начинаю изучать С++ вместе с С#. Пытаюсь преобразовать следующий код в С++...Нужно вывести три предложения из текста в обратном порядке.Что наработал: using System; using System.Text; class Program { static void Main(string args) http://www.cyberforum.ru/cpp-beginners/thread252386.html
C++ Программа "Динамическая модель солнечной системы"
Дали задание, а я в этом не разбираюсь ни как!!! Программа "Динамическая модель солнечной системы". В программе используются объекты ЗВЕЗДА и ПЛАНЕТА из подключаемого модуля . Объект звезда устанавливает точку с заданными координатами и с заданным цветом. Его методы позволяют перемещать и гасить точку. Объект планета наследует свойства объекта звезда и имеет аналогичные методы по...
C++ написал первую прогу в СИ. не запускается.исправьте пож ошибку(и)
#include <math.h> main () { float a,b,c,x,s; cout<<"Введите a,b,c через пробел"; cin>> a,b,c; x=fabs(c-b); s=pow(a,x)*(sin(log(pow(a,x)))+cos( log(pow(a,x))));
C++ Связные списки и множества элементов http://www.cyberforum.ru/cpp-beginners/thread252356.html
Здравствуйте!Помогите пожалуйста переделать программу с помощью упорядоченых связных списков: 1)Написать программу которая: -проверяет принадлежание элемента множеству; -проверка пустоты множества; -добавление и удаление элемента; -чтение и выведение эементов; Написать модуль,который реализует понятие множества целых.Для подачи множества использовать упорядоченый связный список. 2)Написать...
C++ Посчитать сумму элементов массива, при которых квадратное уравнение имеет решение Дана матрица a (а1,а2,а3...аn) Найти сумму тех элементов,при которых уравнение X^2+3ax+5=0 Если таких элементов нет,вывести 0. //Trvac e (a1,a2,...an) miachaph zangvac. Gtnel ayn tarreri gumary, voronc depqum //X2+3aix+5=0 qarakusi havasarumn uni irakan armatner. Ete aydpisi elementner chkan, apa tpel 0. //---------------------------- подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.03.2011, 01:23     Tree, set, map etc.
Решил посмотреть реализацию стандартного мап/сет и вспомогательного класса _Tree (кстати, он только в MSVS или есть везде, но по разному называется и по разному реализован?).

Реализованы они по стандарту как известно через красно-черное сбалансированное бинарное дерево (кстати, сложно-ли такое реализовать впринципе? Просто интересно стало, может надумаю как-нибудь, список и вектор реализован (без проверок почти), надо бы реализовать все).

Но главный вопрос состоит в том как они реализованы? Итеративно или же рекурсией? При самописном дереве - стек переполняется через 3+к элементов. В set/map могу вставить и 2 ляма. Кто-нибудь знает точно как там это реализовано? Ну и + если есть инфа об этом в стандарте - ссылку плиз.

И крайний вопрос - чем определяется глубина раскрутки стека для каждой машины? Вот у меня например дерево держало порядка 3к элементов, у fasked его дерево держало около 20-200к и не падало. Как определить? Оперативка влияет или все вместе взятое?

Заранее спасибо за ответы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru