Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Гаряка Асмик
Статус: Профессионал
Рейтинг: 4640
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2484
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 1992
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1575
Дата выхода:09.10.2010, 18:30
Администратор рассылки:Verena, Профессионал
Подписчиков / экспертов:342 / 172
Вопросов / ответов:1 / 1

Вопрос № 180158: Доброго времени суток. Помогите решить задачу: создать стек, скопировать его в дерево поиска...



Вопрос № 180158:

Доброго времени суток. Помогите решить задачу: создать стек, скопировать его в дерево поиска

Отправлен: 04.10.2010, 18:05
Вопрос задал: андрюша, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Micren, Профессионал :
Здравствуйте, андрюша.
© Цитата: андрюша
да используя stl

Программа. C++.
Код:
#include <locale>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <stack>
#include <set>
#include <algorithm>

using namespace std;

typedef int data_t;
typedef stack<data_t> stack_t;
typedef mult iset<data_t> multiset_t;

const stack_t::size_type COUNT = 10;

data_t gen_data()
{
static bool not_init = true;
if (not_init)
{
srand(time(0));
not_init = false;
}
return rand();
}

int main()
{
locale::global(locale(""));

cout << "Заносим данные в стек:" << endl;

stack_t my_stack;
while (my_stack.size() < COUNT)
{
data_t tmp = gen_data();
cout << tmp << endl;
my_stack.push(tmp);
}

multiset_t my_tree;
while (!my_stack.empty())
{
my_tree.insert(my_stack.top());
my_stack.pop();
}

cout << "Дерево содержит:" << endl;
for (multiset_t::const_iterator it = my_tree.begin(), end = my_tree.end(); it != end; ++it)
{
cout << *it << endl;
}
return 0;
}

Пример работы:
Код:
Заносим данные в стек:
2112066467
1830626232
1806504234
696419979
1365309511
1577723582
1920887605
952415933
1831257540
1102978335
Дерево содержит:
696419979
952415933
1102978335
1365309511
1577723582
1806504234
1830626232
1831257540
1920887605
2112066467

Ответ отправил: Micren, Профессионал
Ответ отправлен: 08.10.2010, 09:50
Номер ответа: 263382

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263382 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFPRO.RU, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.22 от 04.10.2010

    В избранное