顺序容器类vector
#include <iostream.h> #include <VECTOR> // 包含vector类所在的头文件 using namespace std; // 使用标准命名空间 typedef vector<int> MYINTVECT; // 自定义容器模板的数据类型 #define ORDER_COUNT 12 // 定义订单数量 int main(int argc, char* argv[]) { MYINTVECT ordervector(ORDER_COUNT); // 定义自定义 for(int i = 0; i < ORDER_COUNT; i++) // 填充订单容器变量中的值 { int iTemp = i+1; // 定义临时变量 cout << "[" << iTemp << "] "; // 输出变量值 ordervector[i] = iTemp; // 赋值vector变量值 } cout << endl; cout << "存储在STL的vector容器中的数据有:" << endl; for(int j = 0; j < ORDER_COUNT; j++) // 输出订单容器变量中的值 cout << "[" << ordervector[j] << "] "; char l; cin >> l; // 等待用户响应 return 0; // 主函数退出返回 }
关联容器类set
#include <iostream.h> #include <set> // 引用set类所在的头文件 using namespace std; // 使用标准命名空间 typedef set<float, less<float>, allocator<float> > MYFLOATSET; // 自定义存储浮点型的集合数据类型 int main(int argc, char* argv[]) { MYFLOATSET myfset; // 声明浮点型集合变量 MYFLOATSET::iterator myfsetPtr; // 声明浮点型迭代变量 float fTemp; // 声明临时变量 srand(1); // 生成随机种子 cout<< "为set变量赋值:" << endl; for(int i = 0; i < 9; i++) { fTemp = rand(); // 生成随机数 fTemp /= 100; // 取浮点型 cout << "[" << fTemp << "] "; // 输出生成的浮点数 myfset.insert(fTemp); // 将浮点数添加到set中 } cout << endl << "从set变量中获取数据" << endl; for(myfsetPtr = myfset.begin(); myfsetPtr != myfset.end(); myfsetPtr++) // 使用迭代指针 cout << "[" << *myfsetPtr << "] "; // 输出每个元素的值 char l; cin >> l; // 等待用户响应 return 0; // 函数返回退出 }
迭代器iterator
#include <iostream> #include <string> #include <list> // 包含包括列表定义的list头文件 using namespace std; // 引用标准命名空间 typedef list<string> STRINGLIST; // 重定义字符串列表类型 int main(int argc, char* argv[]) { STRINGLIST myList; // 定义字符串列表变量 STRINGLIST::iterator myListIt; // 定义字符串枚举器变量 myList.push_back("张三"); // 向字符串列表中增加数据 myList.push_back("李四"); // 向字符串列表中增加数据 myList.push_back("王五"); // 向字符串列表中增加数据 myList.push_back("赵六"); // 向字符串列表中增加数据 myList.push_back("田七"); // 向字符串列表中增加数据 myList.push_back("欧阳"); // 向字符串列表中增加数据 myList.push_back("上官"); // 向字符串列表中增加数据 cout << "列表中的数据有: " << endl; // 输出提示信息 myListIt=myList.begin(); // 初始化链表迭代器,指向链表头 for (myListIt=myList.begin(); myListIt != myList.end() ; myListIt++) // 通过循环依次输出链表中的内容 cout << "[" << *myListIt << "] "; // 输出迭代器当前指向的元素的值 myListIt=myList.begin(); // 初始化链表迭代器,指向链表头 advance(myListIt, 2); // 指向链表的第3个元素 cout << endl << "第三个元素=" << *myListIt << endl; // 输出第三个变量的值 cout << "当前节点到链表尾还有" << distance(myListIt, myList.end()) << "个数据结点"; // 输出迭代器当前元素距离链表尾元素的个数 char l; cin >> l; return 0; }