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

Статьи по Visual C++

  Все выпуски  

STL: Алгоритмы


Информационный Канал Subscribe.Ru

Visual C++
Лучшие статьи с сайта www.p-lib.pp.ru
  Главная | Новости | Статьи | Каталог | Софт | Регистрация | Поиск

Приглашаем авторов статей к сотрудничеству с сайтом. Для того чтобы разместить на сайте статью надо заполнить форму или связаться с нами по E-Mail

Предлагаем владельцам сайтов добавить сабя в каталог на нашем сайте.

Новые статьи на сайте

1. Метод с возвращаемым значением
Как же нам сделать так, что бы некоторый метод возвращал значение (при вызове этого метода в клиенте, разумеется)? Очень просто...

2. Подключение и отключение от интернета
Часто возникает проблема создать собственно само подключение, то есть начать дозвон, используя информацию, находящуюся в свойствах «точки входа». Решением этой проблемы служат функции RasDial и RasDialDlg.

3. Изменение настроек подключения
В этой вы ознакомитесь с функциями, предоставляющими программе создавать и изменять соединения, без применения диалогов и если потребуется без участия пользователя.

4. Редактирование соединений
В статье рассказано о нескольких функциях, которые вызывают стандартные диалоговые окна RAS для различных манипуляций над действиями, так и функции, через которые программа может производить действия без участия пользователя.

5. Перечисление всех соединений
В статье описаны функции которые перечисляют все соединения или как их еще называют «точки входа» и все устройства установленые на компьютере для подключения к интернету.

6. ODBC API
В статье описана работа с СУБД через ODBC API. Как соединиться и считать данные из базы.

7. «Липкие» диалоговые окна
Небольшая реализация «липких» диалоговых окон, как в проигрывателе Winamp.

Свежие компьютерные новости

24.12.2005 Gartner: Метаданные в Windows Vista нужно использовать осторожно
24.12.2005 Слух: Microsoft покупает Opera
24.12.2005 Microsoft и Google договорились
24.12.2005 Полнофункциональный ноутбук Aquarius Sensus NE305
24.12.2005 В Рунете появилась социальная сеть для профессионалов
24.12.2005 Продолжится рост рынка ноутбуков
24.12.2005 "Яндекс" будет показывать контекстную рекламу на обычных сайтах
24.12.2005 Евросоюз угрожает Microsoft новыми штрафами

STL: Алгоритмы

Алгоритмами в библиотеке STL называют функции-шаблоны. Функции параметризованы по типу итератора. Здесь важно не ошибиться с типом итератора. Многое алгоритмы библиотеки STL имеют версии copy, if или copy_if. Что это значит? Версия copy будет помещать результаты выполнения алгоритма в другой контейнер. Версия if осуществляет проверку, можно ли выполнить данный алгоритм над элементом контейнера. Версия copy помечается суффиксом _copy, версия if суффиксом _if и, наконец, версия copy_if помечается суффиксом _copy_if.

Все алгоритмы можно разделить на следующие группы:

  1. Алгоритмы, не изменяющие последовательности;
  2. Алгоритмы, изменяющие последовательности;
  3. Алгоритмы сортировки и связи;
  4. Обобщенные численные алгоритмы.

Перечислим некоторые алгоритмы.

  1. count – алгоритм ищет во входном интервале все значения, равные value. Количество найденных значений присваивается счетчику.
  2. for_each – алгоритм применяет данную функцию к каждому элементу из заданного интервала. Итераторы, задающие интервал, должны быть итераторами ввода и более высокой иерархии.
  3. find – алгоритм ищет среди элементов интервала первый элемент, равный заданному. Возвращается итератор, указывающий на данный элемент.
  4. finf_end – алгоритм просматривает входной интервал и ищет совпадения с заданным интервалом. Если будет найден хотя бы один интервал совпадения – выбирается последний. Возвращается итератор, указывающий на него.
  5. find_first_of – данный алгоритм аналогичен предыдущему, но возвращает первый интервал.
  6. adjacent_find – алгоритм во входном интервале ищет пару соседних совпадающих элементов. Возвращается итератор, указывающий на первый элемент пары.
  7. mismatch – алгоритм просматривает две последовательности в поиске несовпадающих элементов.
  8. equal – данный алгоритм проверяет две последовательности на равенство.
  9. search – алгоритм пытается найти в заданной последовательности заданную последовательность.
  10. copy – данный алгоритм копирует элементы из заданной последовательности в указанный контейнер.
  11. swap – алгоритм меняет содержимое двух переменных.
  12. inter_wap – выполняет аналогичную предыдущей операцию, а в качестве аргументов принимает итераторы.
  13. transform – один из вариантов данного алгоритма принимает две последовательности, выполняет над ними некоторую операцию и результат помещает в третью последовательность.
  14. replace – алгоритм во входной последовательности заменяет каждый элемент, равный заданному на указанный элемент.
  15. fill – алгоритм присваивает каждому элементу диапазона заданное значение.
  16. remove – удаляет все элементы последовательности, равные заданному значению.
  17. reverse – данный алгоритм меняет следование элементов заданной последовательности.
  18. rotate – функция обобщенной ротации. Частным случаем ее является перемещение последнего элемента интервала в начало.
  19. random_shuffle – алгоритм случайным образом перемешивает содержание заданной последовательности.
  20. sort – алгоритм расставляет элементы заданной последовательности в возрастающем порядке. При этом равные элементы могут поменять своё положение.
  21. stable_sort – выполняет операцию, аналогичную предыдущей, но сохраняет положение равных элементов.
  22. low_bound – алгоритм находит место в заданной последовательности для указанного элемента. Предполагается, эта последовательность упорядочена.
  23. upper_bound – алгоритм аналогичен предыдущему, но ищет последнее возможное место в последовательности.
  24. binary_search – алгоритм в упорядоченной последовательности ищет заданный элемент.
  25. merge – алгоритм объединяет две упорядоченные последовательности в одну упорядоченную.
  26. set_union – объединяет две упорядоченные последовательности так, чтобы получившуюся последовательность начиналась с заданного значения.
  27. min_element – возвращает итератор минимального элемента данной последовательности.
  28. max_element – возвращает итератор максимального элемента.
  29. accumulate – прибавляет все элементы последовательности к заданному значению.
  30. inner_product – алгоритм суммирует произведение элементов двух последовательностей (аналог скалярного произведения двух векторов).
  31. partial_sum – создает последовательность, составленную из сумм элементов входной последовательности (первый элемент, первый плюс второй и т. д.).
  32. adjacent_diference – создает последовательность разностей между соседними элементами входной последовательности.

Ниже представлена программа, использующая два алгоритма – сортировка и двоичного поиска.

#include "stdafx.h"
#include <algorithm>
#include <vector>
using namespace std;

int main(int argc, _TCHAR* argv[])
{
 vector<int> a;
 a.push_back(10);     a.push_back(9);
 a.push_back(11);     a.push_back(12);
 a.push_back(20);     a.push_back(15);
 //сортировка
 sort(a.begin(), a.end());
 //вывод отсортированного масива
 for(int i=0; i<6; i++) printf("%d\n", a[i]);
 //двоичный поиск
 if(binary_search(a.begin(), a.end(), 15))
  printf("The element 15 is found");
 else
  printf("No found");
}

Исходник к статье вы можете скачать здесь.

Книги с Озона

Visual C++.NET. Библия пользователя Visual C++.NET. Библия пользователя

Эта книга посвящена библиотеке MFC, a не только платформе .NET. Весь материал разбит на разделы, освещающие отдельные направления разработки, объединенные в логически упорядоченные категории, что позволит новичкам получить систематизированные знания, читая книгу шаг за шагом, а квалифицированный программист легко найдет интересующие разделы. Каждая глава начинается вводным разделом, содержащим краткую информацию по обсуждаемой теме, а затем следует пример довольно простого демонстрационного приложения. Книга предназначена для программистов средней и высокой квалификации.

Заказать на Озоне

Visual C++.NET. Класссика програмирования (+ CD-ROM) Visual C++.NET. Класссика програмирования (+ CD-ROM)

"Visual C++.Net. Классика программирования" - книга, необходимая как начинающему программисту, так и профессионалу, желающему познакомиться с новыми возможностями последней версии наиболее популярной системы программирования. Изучение этой книги не требует глубоких знаний языка C++, однако предполагается знание основ языка С. Поэтапное изучение предмета позволит человеку с любым уровнем начальных знаний о языке программирования C++ легко изучить самую современную его версию. Данная книга - не просто учебник по языку программирования, это первый шаг в создании удобных, профессиональных приложений, ориентированных на Internet.

Заказать на Озоне

Использование Microsoft Visual C++ .NET. Специальное издание Использование Microsoft Visual C++ .NET. Специальное издание

Эта книга фокусирует внимание читателя на использовании языка программирования Visual C++ при создании 32-разрядных Windows-приложений, включая приложения баз данных, Internet-приложения и СОМ-приложения. Помимо этого, здесь содержится описание технологии .NЕТ и способа применения языка Visual C++ при создании .NЕТ-приложений, использующих базы данных, взаимодействующих с Internet и т.д. Особое внимание автор книги уделяет совместному использованию технологий .NЕТ и СОМ. Эта книга будет полезна как начинающим, так и опытным программистам.

Заказать на Озоне


Последнии статьи по Delphi

   -  Бегущая строка (Метод III)
   -  Методика модификации программ для скрытия их от антивирусов
   -  Нестандартные заголовки
   -  Создание бегущей строки в Delphi
   -  Введение в реккурсию
   -  Перевод в Delphi-приложениях
   -  Сравнительный анализ технологий CORBA и COM - Часть 3
   -  Сравнительный анализ технологий CORBA и COM - Часть 2
   -  Сравнительный анализ технологий CORBA и COM - Часть 1
   -  Интерполяция изображения


Советую посетить

Портал для Delphi программиста - Быстро развивающийся портал о программирование на языке Pascal/Delphi. Статьи, исходники, компоненты, справочники, мануалы, FaQ, программы.

Дружественные рассылки

Visual Basic.NET
ASP.NET (new)
Рассылка сайта Delphi coding
Интернет для Delphi-программиста
 


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.visualc
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное