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

Уроки по C/C++

  Все выпуски  

Уроки по C/C++


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

Уроки по C/C++. Рассылки сайта progs.biz
Выпуск № 38
 
Начало > C++ > Библиотека STL > Урок 5

Э. Трельсен Модель COM и применение ATL 3.0.
Э. Трельсен. Модель COM и применение ATL 3.0
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 5.

C++. Библиотека STL
Урок 5. Знакомство с алгоритмами

На этом у нас будет небольшое знакомство с алгоритмами - третьей частью библиотеки STL.

Рассмотрим мы применение алгоритмов на примере сортировки элементов вектора, рассмотренного на прошлых занятиях.

Вот так будет выглядеть наша программа, которая сортирует элементы вектора:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

void main()
{
    // Объявляем вектор из целых.
    vector <int> k;
    // Добавляем элементы в конец вектора.
    k.push_back(22);
    k.push_back(11);
    k.push_back(4);
    k.push_back(100);
    vector <int>::iterator p;
    // Вывод неотсортированного вектора.
    for (p = k.begin(); p<k.end(); p++)
    {
        cout<<*p<<"\n";
    }
    
    // Сортировка вектора.
    sort(k.begin(), k.end());
    
    // Вывод отсортированного вектора.
    cout<<"sorted:\n";
    for (p = k.begin(); p<k.end(); p++)
    {
        cout<<*p<<"\n";
    }
}

Как вы видите, главная часть в нашей программе - это строка

    ...
    // Сортировка вектора.
    sort(k.begin(), k.end());
    ...

При вызове функции sort мы указываем, от какого и до какого элементов мы делаем сортировку. В нашем случае мы сортируем наш вектор от начала и до конца.

Результатом выполнения программы будет вывод числе 4, 11, 22, 100 (именно в таком, отсортированном порядке).

Обратите внимание, что функция sort не принадлежит нашему вектору. Т. е. мы не пишем что-то вроде

    ...
    k.sort(...);
    ...

Т. е. наш метод сортировки (как и другие алгоритмы) образует отдельную подсистему в библиотеке STL (наряду, например, с контейнерами - тем же вектором, например).

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2005 сайт progs.biz
© 2002-2005 Игорь Алексеев

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.cpplessons
Отписаться

В избранное