順序容器類vectorios
#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; // 主函數退出返回 }
關聯容器類setless
#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; }