标准数组--向量(3)

 

下面的代码显示了怎样把各种各样的泛型算法应用到vector 类对象上

#include <vector>

#include <algorithm>

#include <iostream>

int ia[ 10 ] = {

51, 23, 7, 88, 41, 98, 12, 103, 37, 6 };

int main()

{

vector< int > vec( ia, ia+10 );

// 排序数组

sort( vec.begin(), vec.end() );

// 获取值

int search_value;

cin >> search_value;

// 搜索元素

vector<int>::iterator found;

found = find( vec.begin(), vec.end(), search_value );

if ( found != vec.end() )

cout << "search_value found!\n";

else cout << "search_value not found!\n";

// 反转数组

reverse( vec.begin(), vec.end() );

// ...

}

标准库还提供了对map 关联数组的支持,即数组元素可以被整数值之外的其他东西索引。

例如,我们可以这样来支持一个电话目录,这个电话目录是电话号码的数组,但是它的元素

可以由该号码所属人的姓名来索引

 

#include <map>

#include <string>

#include "TelephoneNumber.h"

map< string, telephoneNum > telephone_directory;

在第6 章我们将看到vector map 以及标准C++库支持的其他容器类型,本书将通过一

个文本查询系统的实现来说明这些类型的用法,而第12 章会讲解泛型算法附录按字母顺序

提供了每个算法的解释及其用法。

本章大致地讲述了C++为数据抽象基于对象的程序设计,面向对象的程序设计、泛

型程序设计、模板容器类型以及泛型算法、大型程序设计异常处理与名字空间提供

的支持,而本书余下的部分将更详细地介绍这些内容,逐步讲解C++中基本但又非常先进

的特性。

你可能感兴趣的:(C++,c,算法,C#)