Читаем C++ для начинающих полностью

RandomAccessIterator last, Compare comp );

sort_heap() сортирует последовательность в диапазоне [first,last), предполагая, что это правильно построенный хип; в противном случае поведение программы не определено. (Разумеется, после сортировки хип перестает быть хипом!) В первом варианте при сравнении используется оператор "меньше", определенный для типа элементов контейнера, а во втором - операция comp.

#include algorithm

#include vector

#include assert.h

template class Type

void print_elements( Type elem ) { cout elem " "; }

int main()

{

int ia[] = { 29,23,20,22,17,15,26,51,19,12,35,40 };

vectorint, allocator vec( ia, ia+12 );

// печатается: 51 35 40 23 29 20 26 22 19 12 17 15

make_heap( &ia[0], &ia[12] );

void (*pfi)( int ) = print_elements;

for_each( ia, ia+12, pfi ); cout "\n\n";

// печатается: 12 17 15 19 23 20 26 51 22 29 35 40

// минимальный хип: в корне наименьший элемент

make_heap( vec.begin(), vec.end(), greaterint() );

for_each( vec.begin(), vec.end(), pfi ); cout "\n\n";

// печатается: 12 15 17 19 20 22 23 26 29 35 40 51

sort_heap( ia, ia+12 );

for_each( ia, ia+12, pfi ); cout "\n\n";

// добавим новый наименьший элемент

vec.push_back( 8 );

// печатается: 8 17 12 19 23 15 26 51 22 29 35 40 20

// новый наименьший элемент должен оказаться в корне

push_heap( vec.begin(), vec.end(), greaterint() );

for_each( vec.begin(), vec.end(), pfi ); cout "\n\n";

// печатается: 12 17 15 19 23 20 26 51 22 29 35 40 8

// наименьший элемент должен быть заменен на следующий по порядку

pop_heap( vec.begin(), vec.end(), greaterint() );

for_each( vec.begin(), vec.end(), pfi ); cout "\n\n";

}

2014-04-14 18:12:00 Sherzod

Я Началь учится на С++ Отлычно Спосибо

2011-12-10 15:00:54 kaban

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

2011-10-23 00:59:28 Kraner

Я начал учить с++ с 14 лет . Года два на нем прогал и чувствовал постоянную кашу в голове. Там довольно много тонкостей и это отрицать нельзя. После того как годик покодил на паскале все то знал о плюсах структурировалось гораздо лучше. Не обязательно паскаль , можно начинать и с basic , еще лучше наверно начинать с assembler , но это вообще в идеале. Теперь я уже 6 лет программирую на плюсах и ими доволен больше чем каки м либо другим языком . С моей стороны это язык наиболее развязывающий программисту руки и дающий ему полный контроль над тем как делать и что делать .

2011-09-23 16:47:26 Михаил

У меня с++ идёт по программе обучения в универе.и мне надо его учить по любому,и кстати если понимать,то можно начинать и с него=) Kraner ты не прав(а) Николай +

2011-08-31 17:34:09 Kraner

Хотя бы Pascal . Допустим тина указателей в c++ может легко помочь завязнуть надолго любому кто только пытается вникнуть в лес плюсов. Pascal же как то подобрее к начинающим.

2011-08-10 19:47:09 Николай

XD Самый трушный комментарий который я когда либо видел, +1 . Но думаю , что c++ не тот язык с которого надо начинать программировать в таком возрасте . Так тогда назовите с какого надо языка начать с асма так.

2011-07-11 00:09:05 Kraner

XD Самый трушный комментарий который я когда либо видел, +1 . Но думаю , что c++ не тот язык с которого надо начинать программировать в таком возрасте .

2011-05-14 19:09:11 Gor

Я Началь учится на С++ Отлычно Спосибо

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных