vector
通常の配列は、サイズを確保するため静的配列と呼ばれている。
vectorは、サイズが可変のため動的配列と呼ばれている。
#include <iostream> #include <vector> using namespace std; int main() { vector<int> v1; v1.push_back(1); v1.push_back(2); v1.push_back(3); for (int i = 0; i < v1.size(); i++) { cout << v1[i] << endl; } }
list
双方向連結リストで、要素の途中に値を追加することが可能な配列。
#include <iostream> #include <list> using namespace std; int main() { list<int> li; li.push_back(1); li.push_back(2); li.push_back(3); list<int>::iterator itr; itr = li.begin(); itr++; li.insert(itr, 4); for (itr = li.begin(); itr != li.end(); itr++) { cout << *itr << endl; } }
set
データの重複が発生しないデータの集まりを作れる機能
#include <iostream> #include <set> using namespace std; int main() { set<string>names; names.insert("Tom"); names.insert("Mike"); names.insert("Mike"); names.insert("Bob"); set<string>::iterator itr; for (itr = names.begin(); itr != names.end(); itr++) { cout << *itr << endl; } }
スタックとキュー
なるほど・・・データの取り出し方法はこれを使えば切り替えられるのか・・・いいね
#include <iostream> #include <stack> #include <queue> using namespace std; int main() { stack<int>stk; queue<int>que; int data[] = { 1,2,3 }; for (int i = 0; i < 3; i++) { stk.push(data[i]); que.push(data[i]); } cout << "stack : "; while (!stk.empty()) { cout << stk.top() << ""; stk.pop(); } cout << endl; cout << "queue : "; while (!que.empty()) { cout << que.front() << ""; que.pop(); } }