/******************set
*/#include
<
iostream
>
#include
<
set>
#include
<
algorithm
>
#include
<
iterator
>
using
namespace
std;
typedef
set<
double
,less
<
double
>
>
doubleset;
//注意》 >間距
intmain()
;doubleset dd(a,a
+size);
ostream_iterator
<
double
>
output(cout,""
);cout
<<
"double set contains: ";
copy(dd.begin(),dd.end(),output);
pair
<
doubleset::const_iterator,
bool
>
p;
//定義乙個pair物件,由doubleset的const_iterator和乙個布林值組成 p=
dd.insert(
13.8
); //
因為容器沒有13.8,13.8被插入,則p.first指向13.8,p.second返回為真
cout
<<
"\n\n
"<<*
(p.first)
<<
(p.second?"
was ":
"was not ")
<<
"insertd";
cout
<<
"\ndoubleset contains:";
copy(dd.begin(),dd.end(),output);p=
dd.insert(
9.5);
//因為set關聯容器不允許重複,9.5已經存在,故沒有被插入,p.second返回為假
cout
<<
"\n\n
"<<*
(p.first)
<<
(p.second?"
was ":
"was not ")
<<
"insertd";
cout
<<
"\ndoubleset contains:";
copy(dd.begin(),dd.end(),output);
cout
<<
endl;
}
muntiset
#include<
iostream
>
#include
<
set>
#include
<
algorithm
>
#include
<
iterator
>
using
namespace
std;
typedef multiset
<
int,less
<
int>
>
ims;
//注意》 >間距
intmain()
;ims intmultiset;
ostream_iterator
<
int>
output(cout,""
);cout
<<
"there are curently
"<<
intmultiset.count(15)
<<
"values of 15 in the multiset\n\n";
intmultiset.insert(
15);
intmultiset.insert(
15);
cout
<<
"\nafter insert,there are
"<<
intmultiset.count(15)
<<
"values of 15 in the multiset\n\n";
ims::const_iterator result;
result
=intmultiset.find(
15);
if(result
!=intmultiset.end())
cout
<<
"fond values 15\n";
result
=intmultiset.find(
20);
if(result
==intmultiset.end())
cout
<<
"did not find values 20\n";
intmultiset.insert(a,a
+size);
cout
<<
"\nafter insert,int multiset contains:\n";
copy(intmultiset.begin(),intmultiset.end(),output);
cout
<<
"\n\nlower bound of 22:
"<<*
(intmultiset.lower_bound(
22));
cout
<<
"\n\nupper bound of 22:
"<<*
(intmultiset.upper_bound(
22));
pair
<
ims::const_iterator,ims::const_iterator
>
p;//
p包含兩個成員first,secondp=
intmultiset.equal_range(
22);
//這裡使用equal_range函式確定值22在intmultiset中最早出現的位置和最後一次出現的位置
cout
<<
"\n\nequal_range of 22 :
"<<
"\n lower bound:
"<<*
(p.first)
<<
"\n upper bound
"<<*
(p.second);
cout
<<
endl;
return0;
}
編輯器載入中...
c 關聯容器
1.map建構函式 mapm 普通初始化 mapm m2 複製初始化法 mapm b,e 另乙個map物件的迭代器初始化法 注意 1 鍵值型別必須定義 操作符號,資料訪問時需要呼叫。2 m aaa 下表訪問方式導致的結果是,若鍵對應的值不存在,則插入該鍵值對應的預設值。2.map插入操作 m.ins...
C 關聯容器
1.關聯容器是通過關鍵字來儲存和訪問資料的。關聯容器分為兩大類 map和set。其中,map是通過鍵值對來操作的,這裡的鍵就是關鍵字,值就是對應的資料。例如 mapm 定義了乙個空的map變數m,它的關鍵字型別是int,關鍵字對應的值的型別是int。可以將map理解成為函式,關鍵字是自變數,關鍵字對...
C 關聯容器
1 關聯容器定義 關聯容器和順序容器的本質差別在於 關聯容器通過鍵 key 儲存和讀取元素,而順序容器 則通過元素在容器中的位置順序儲存和訪問元素。關聯容器 associative containers 支援通過鍵來高效地查詢和讀取元素。兩個基本的關聯容器型別是 map set。map 的元素以鍵 ...