C 語言之set用法

2021-09-12 17:11:36 字數 1761 閱讀 6331

下面簡單總結下set容器的操作:

1、set物件的定義和初始化

set物件的定義和初始化方法包括:

sets;

sets(s1);

sets(b, e);

其中,b和e分別為迭代器的開始和結束的標記。

例如:

#include #include #include using namespace std;

int main()

sets(v.begin(), v.end());

printf("%d\n", v.size());

printf("%d\n", s.size());

return 0;

}

注意:鍵是不能重複的。

2、set中資料的插入

與map不同,set中資料只能通過insert()函式進行插入。

例如:

#include #include #include using namespace std;

int main()

sets;

s.insert(v.begin(), v.end());

set::iterator it;

for (it = s.begin(); it != s.end(); it++)

printf("\n");

s.insert(10);

for (it = s.begin(); it != s.end(); it++)

printf("\n");

return 0;

}

3、從set中查詢和讀取元素

從set中查詢同樣可以使用count()函式和find()函式,兩者的區別在之前的map中已經總結。

例如:

#include #include #include using namespace std;

int main()

sets;

s.insert(v.begin(), v.end());

set::iterator it;

for (it = s.begin(); it != s.end(); it++)

printf("\n");

printf("%d\n", s.count(9));

printf("%d\n", *(s.find(9)));

return 0;

}

4、從set中刪除元素

從set中刪除元素使用到的函式是erase()函式,主要有以下的幾種形式:

erase(k);

erase(p);

erase(b, e);

其中,p表示的迭代器指向的元素,b和e分別是迭代器的開始和結束。

例如:

#include #include #include using namespace std;

int main()

sets(v.begin(), v.end());

set::iterator it;

for (it = s.begin(); it != s.end(); it++)

}s.erase(it, s.end());

set::iterator it_1;

for (it_1 = s.begin(); it_1 != s.end(); it_1++)

printf("\n");

return 0;

}

C語言之getchar 用法

1 語法int getchar void 2 返回值 getchar函式的返回值是使用者輸入的第乙個字元的ascii碼,如出錯返回 1,且將使用者輸入的字元回顯到螢幕.如使用者在按回車之前輸入了不止乙個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取.也就是說,後續的getchar...

C語言之static用法

1,static修飾全域性變數 限定變數的作用域。被static修飾的全域性變數儲存域不變,依然儲存在靜態儲存區,即bss段或data段。但作用域發生改變,被static修飾全域性變數只能被本檔案的函式訪問,對於其他原始檔是不可見的,哪怕用extern宣告也不可見。2,static修飾區域性變數 限...

C語言之typedef函式指標用法

c語言之typedef函式指標用法 形式1 返回型別 函式名 參數列 cpp view plain copy char pfun int char glfun int a void main 第一行定義了乙個指標變數pfun。首先我們根據前面提到的 形式1 認識到它是乙個指向某種函式的指標,這種函式...