Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
daert
1 / 1 / 2
Регистрация: 09.05.2014
Сообщений: 47
#1

Что возвращает функция после сравнения? - C++

09.05.2014, 17:04. Просмотров 259. Ответов 2
Метки нет (Все метки)

Здравствуйте, необходимо реализовать код Хаффмана используя такие контейнеры как list, map, vector.
код есть, но т.к. с этими контейнерами незнаком не могу разобрать некоторые моменты, помогите разобрать как работают указанные куски кода
(строка 24 что возвращает?, и строка 35 почему используется в качестве параметра структура)

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
...
class Node
{
    public:
     int a;
     char c;
     Node *left, *right;
     
     Node(){left=right=NULL;}
 
     Node(Node *L, Node *R) 
     {  left =  L;
        right = R;
        a = L->a + R->a;  }
};
 
...
 
struct MyCompare
{
    bool operator()(const Node* l, const Node* r) 
const 
{ 
return l->a < r->a; // возвращаем элемент который меньше или что? тут тоже не могу разобраться
}
};
 
...
 
void main()
{
...
while (t.size()!=1)
  {  
     t.sort(MyCompare());// не могу понять почему в качестве параметра сортировки используется структура, 
                                 //элементом которой является перезруженный оператор () 
    
     Node *SonL = t.front();
     t.pop_front();
     Node *SonR = t.front(); 
     t.pop_front();
     
     Node *parent = new Node(SonL,SonR); 
     t.push_back(parent);
 
  }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2014, 17:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что возвращает функция после сравнения? (C++):

Функция которая сравнивает два целых числа и возвращает результат сравнения в виде знака: >, < или = - C++
Используя функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде знака: &gt;, &lt; или =, вычислить количество...

Узнать что возвращает функция - C++
Вопрос уже задавал раньше, но никто не смог ответить :) В общем есть функция которая возвращает указатель на неизвестно что :) ....

Объясните что возвращает функция - C++
Здравствуйте. int is_file_folder(const TCHAR *pth) { HANDLE hfind; WIN32_FIND_DATA wfd; hfind =...

Узнать, что возвращает функция - C++
Функция возвращает указатель на неизвестную структуру но как определить что содержится в структуре? это нашел в интернете ...

Что возвращает функция size()? - C++
что выполняет функция size() не могу найти кто знает скажите плиз

Функция, что возвращает динамический массив - C++
Функция возвращает динамический массив int *A1 (BYTE val) { int *mass = new int; //инициализация массива return mass; }...

2
nmcf
6109 / 5420 / 1892
Регистрация: 14.04.2014
Сообщений: 22,601
09.05.2014, 17:24 #2
Строка 24 возвращает результат сравнения, т. е. булевскую величину.
0
ValeryS
Модератор
6968 / 5305 / 522
Регистрация: 14.02.2011
Сообщений: 17,888
09.05.2014, 17:31 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от daert Посмотреть сообщение
return l->a < r->a; // возвращаем элемент который меньше или что? тут тоже не могу разобраться
не элемент а результат
если l->a меньше чем r->a; то вернется истина, true(1)
иначе ложь, false(0)

Добавлено через 3 минуты
Цитата Сообщение от daert Посмотреть сообщение
t.sort(MyCompare());// не могу понять почему в качестве параметра сортировки используется структура,
//элементом которой является перезруженный оператор ()
потамушто

sort надо знать по каким условиям сортировать, вот здесь и задаешь
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2014, 17:31
Привет! Вот еще темы с ответами:

После вызова первого пункта меню функция не возвращает введенную строку - C++
Очень нужна помощь людей с мозгами и желательно еще пояснения. Программа после вызова первого пункта меню не принимает строку,что делать?...

Линейный и бинарный поиск: что возвращает функция, если ключ не найден? - C++
Есть функция линейного поиска int linesearch(int *V, int n, int b) { int i; for(i = 0; i &lt; b; i++) cout &lt;&lt; V &lt;&lt; &quot;...

Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения - C++
Кто знает как решить данную задачу на С++? Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде...

Написать функцию, которая сравнивает целых числа и возвращает результат сравнения в виде одного из знаков: <, > или =. - C++
Написать функцию, которая сравнивает целых числа и возвращает результат сравнения в виде одного из знаков: &lt;, &gt; или =. Написати функцію,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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