cb40a_c++_stl_演算法_交換swap_ranges
swap_ranges(b,e,b2);
如果兩個容器的資料數量不一致時,只交換一部分資料,
a裡面3個,b裡面5個,則只會交換3個,b裡面還有兩個不變
注意:下列兩種方法也是交換演算法
1.容器的swap()成員函式
2.賦值操作
1/*cb40a_c++_stl_演算法_交換swap_ranges
2swap_ranges(b,e,b2);
3如果兩個容器的資料數量不一致時,只交換一部分資料,
4a裡面3個,b裡面5個,則只會交換3個,b裡面還有兩個不變56
注意:下列兩種方法也是交換演算法
71.容器的swap()成員函式
82.賦值操作910
*/11
12 #include 13 #include 14 #include 15 #include 16
17using
namespace
std;
1819
intmain()
2059
60//
再次顯示:
61 cout << "
vector資料
"<62for (vector ::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
63 cout << *iter << '';
64 cout <65 cout << "
deque的資料
"<66for (deque::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
67 cout << *iter << '';
68 cout <6970 cout << "
ideq裡面:前面的三個資料和後面的三個資料相互交換
"<71 swap_ranges(ideq.begin(), ideq.begin()+ 3
, ideq.rbegin());
72for (deque::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
73 cout << *iter << '';
74 cout <7576 vectorivec1;
77 vectorivec2;
78 ivec1.push_back(1
);79 ivec1.push_back(2
);80 ivec1.push_back(3
);81
82 ivec2.push_back(10
);83 ivec2.push_back(20
);84 ivec2.push_back(30
);85
86 cout << "
交換前vector1的資料:
"<87for (vector ::iterator iter = ivec1.begin(); iter != ivec1.end(); ++iter)
88 cout << *iter << '';
89 cout <90 cout << "
交換前vector2的資料:
"<9192
for (vector ::iterator iter = ivec2.begin(); iter != ivec2.end(); ++iter)
93 cout << *iter << '';
94 cout <9596
ivec1.swap(ivec2);
97 cout << "
ivec1.swap(ivec2);實際交換的是指標---,速度快。
"<9899 cout << "
交換後vector1的資料:
"<100for (vector ::iterator iter = ivec1.begin(); iter != ivec1.end(); ++iter)
101 cout << *iter << '';
102 cout <103 cout << "
交換後vector2的資料:
"<104105
for (vector ::iterator iter = ivec2.begin(); iter != ivec2.end(); ++iter)
106 cout << *iter << '';
107 cout <108109
110111
return0;
112 }
cb22a c 標準模板庫 STL map
cb22a c 標準模板庫 stl map multimap紅黑樹 資料結構 關聯容器 map 對映,key不能重複,一對一對的,value type 1,one multimap 多對映key可以重複 紅黑樹 資料結構 map,multimap就是紅黑樹 二叉樹 基本操作 insert 4 種方法...
cb14a c 順序容器的操作7
cb14a c 順序容器的操作7 賦值與交換 swap c1 c2 c2容器的資料賦值給c1 c1.swap c2 c1與c2資料交換 c.assign b,e 用於賦值,型別相容就可以 svec.assign slist.begin slist.end string不能轉成字元指標,指標可以轉st...
cb04a c 資料結構 順序容器介面卡STL
cb04a c 資料結構 stl queue佇列 一般用來做系統軟體開發 佇列 只能兩端資料 與堆疊 只能一端運算元據 都沒有迭代器。佇列 fifo先進先出 自適應容器 容器介面卡 棧介面卡stl queue queueq queueq 但不能用vector做佇列。佇列要求兩端,前後都可以操作。q....