C語言中Set與Map容器的簡單用法
在C語言的STL庫中,Set與Map是常見的容器之一。與vector、list等容器不同,Set與Map能夠提供插入、刪除、搜索等操作的時(shí)間復(fù)雜度都是O(log n),具有高效率的特點(diǎn)。Set與Map
在C語言的STL庫中,Set與Map是常見的容器之一。與vector、list等容器不同,Set與Map能夠提供插入、刪除、搜索等操作的時(shí)間復(fù)雜度都是O(log n),具有高效率的特點(diǎn)。Set與Map對于插入的數(shù)據(jù)能夠自動(dòng)排序,從低到高,區(qū)別在于Map可以存儲(chǔ)一對數(shù)據(jù),并可以使用第一個(gè)元素作為索引訪問第二個(gè)元素。
頭文件聲明與變量定義
在程序開頭需要聲明使用set與map的頭文件:`include
初始化操作
Set容器可以使用插入操作初始化變量,插入的元素會(huì)自動(dòng)排序:
`(3); (1); (6);`
而Map容器則可以一個(gè)一個(gè)插入元素:
`salary["pan"] 12; salary["jan"] 6; salary["at"] 117;`
Set容器的遍歷訪問
使用內(nèi)嵌的類型iterator遍歷Set容器序列:
```cpp
set
cout<<"value:";
for (itr (); itr ! s.end(); itr ) {
cout<<*itr< } ``` Map容器變量的遍歷訪問 同樣可以使用內(nèi)嵌的類iterator來遍歷Map容器序列: ```cpp for(map cout< } ``` 完整代碼示例 ```cpp include include include using namespace std; int main() { // set set (3); (1); (6); cout<<"the size "<<()< set cout<<"value:"< for (itr (); itr ! s.end(); itr ) { cout<<*itr< } // map cout<<"map part"< map salary["pan"] 12; salary["jan"] 6; salary["at"] 117; for(map cout< } return 0; } ``` 通過以上簡單操作,我們可以很方便地使用Set與Map容器進(jìn)行數(shù)據(jù)的插入、刪除和遍歷訪問,提高了程序的效率與靈活性。