您的位置:首页 > 其它

STL容器使用DEMO-set

2009-08-24 16:31 375 查看
Code:

//////////////////////////////////////////////////////////////////////////

// CopyRight(c) 2009, YOYO, All Rights Reserved.

// Author: LIN YiQian

// Created: 2009/08/24

// Describe: STL set 使用DEMO

//////////////////////////////////////////////////////////////////////////

#include <iostream>

#include <set>



using namespace std;



typedef set<int> INT_SET;



// 打印Set

void PrintSet(INT_SET setInt)

{

for (INT_SET::iterator setIntIter = setInt.begin(); setIntIter != setInt.end(); ++setIntIter)

{

cout << (*setIntIter) << " ";

}

cout << endl;

}



// 反向打印Set

void PrintSetReverse(INT_SET setInt)

{

for (INT_SET::reverse_iterator setIntIter = setInt.rbegin(); setIntIter != setInt.rend(); ++setIntIter)

{

cout << (*setIntIter) << " ";

}

cout << endl;

}



// 打印指定范围的Set

void PrintSetRange(INT_SET setInt, INT_SET::value_type low, INT_SET::value_type up)

{

for (INT_SET::iterator setIntIter = setInt.lower_bound(low); setIntIter != setInt.upper_bound(up); ++setIntIter)

{

cout << (*setIntIter) << " ";

}

cout << endl;

}



void main(void)

{

INT_SET setInt;

cout << "New Int Set: "; PrintSet(setInt);



// insert()

{

setInt.insert(3);

setInt.insert(2);

setInt.insert(1);

setInt.insert(4);

cout << "After Insert: "; PrintSet(setInt);

}



// test insert() again

{

setInt.insert(3); // fail

setInt.insert(5); // success

setInt.insert(7); // success

setInt.insert(4); // fail

setInt.insert(8); // success

setInt.insert(9); // success

cout << "After Insert again: "; PrintSet(setInt);

}



// reverse()

{

cout << "Set Reverse: "; PrintSetReverse(setInt);

}



// range()

{

cout << "Set Range(low-3, up-8): "; PrintSetRange(setInt, 3, 8);

}



// size() & max_size()

{

cout << "Set size: " << setInt.size() << endl;

cout << "Set max_size: " << setInt.max_size() << endl;

}



// empty()

{

cout << "Set Empty?: " << boolalpha << setInt.empty() << endl;

}



// find()

{

cout << "Value 7 find?: " << boolalpha << (setInt.find(7) != setInt.end()) << endl;

cout << "Value 6 find?: " << boolalpha << (setInt.find(6) != setInt.end()) << endl;

}



// count()

{

cout << "Value 3 count: " << setInt.count(3) << endl;

cout << "Value -5 count: " << setInt.count(-5) << endl;

}



// clear()

{

setInt.clear();

cout << "After Clear: "; PrintSet(setInt);

cout << "Set size: " << setInt.size() << endl;

cout << "Set Empty?: " << boolalpha << setInt.empty() << endl;

}



system("pause");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: