在前面已經總結了stl基本知識點的應用,本篇部落格我將主要總結一下自己對stl這一方面不熟的知識點。
一.
用迭代器遍歷map中的元素(訪問標準容器的元素的通用方法是使用迭代器)
for(map:iterator it=b.begin;it=b.end;it++)
2.it->first 表示用迭代器指向map中的鍵值 it->second 表示用迭代器指向map中的實值 其中it為指標,->為成員提取的意思,表示提取指標it中的。。
(1)m.insert(map:: value_type (「mp」, 22));
(2)m.insert(pair(「mp」, 22));
(3)m.insert(make_pair(「mp」, 22));
4.map函式的應用
m.count(b) --------------返回指定元素b出現的次數
5.erase刪除
m.erase(elem) 移除鍵值為elem的所有元素,返回個數,對於map來說非0即1。
二.isalpha函式
判斷字元ch是否為英文本母,當ch為英文本母a-z或a-z時,返回非零值,否則返回零。
三.tolower函式
函式說明:若引數 a 為大寫字母則將該對應的小寫字母 a 返回。
返回值:返回轉換後的小寫字母,若不須轉換則將引數a 值返回。
toupper函式
函式說明:若引數 a 為小寫字母則將該對應的大寫字母 a返回。
返回值:返回轉換後的大寫字母,若不須轉換則將引數a值返回。
四. vector函式初始化方法的不同
vectorv2(v1)-----------相當於vector v2=v1 (動態陣列和陣列的不同之處在於vector可以整體賦值,而陣列不可以整體賦值)
vector(n,val)---------初始化為n個val
vectorstr
易混淆的問題
vectorv1(10);//v1有10個元素,每個都初始化0
vectorv2;//v2有乙個元素,值為10
vectorv3[10];//v3是有10個元素的陣列,但這種方法不經常用
vectorv4(10,1);//v4有10個int型的元素,均為1
vectorv5;//v5有2個int 型的元素,值為10和1
五.字串流stringstream
1.標準庫標頭檔案#include
2.字串流的用途:
從輸入流一次性讀取一大塊資料,以字串形式儲存在istringstream中,再用適當的輸入操作逐項從istringstream物件中提取各個資料項
3.例題.
istringstream類用於執行c++風格的串流的輸入操作。//它的作用是從string物件str中讀取字元。遇空格結束
string str =「i am boy」;
string b;
istringstream in(str)
while(in >> b)
dowhile(next—permutation(a,a+n+1)
for(int i=1;i七.篩法
篩法是一種效率極高的**優化方法,對於查詢某個數這種問題,遍歷這種方法對於某些要查詢的極大資料效率很低。用篩法可以高效的查詢元素。
例如:醜數問題
抽數是指不能被2,3,5以外的素數整除的數,即它的質因數只能是2,3,5,把所有醜數從小到大排序,求第1500個醜數。
#include#include#include#include#includeusing namespace std;
typedef long long ll;
const int k[3]=;
int main()
for(int i=0;i<3;i++)}}
return 0;
}
numpy個人不熟知識點整理
zcq numpy重在數值計算,也是大部分python科學計算庫的基礎庫,多用在大型,多維陣列上執行數值計算 廣播 陣列和數進行計算是陣列中每個元素分別和數進行計算 廣播可以在缺失或長度為1的維度上進行 從後往前,一樣或為1 即可計算 如shape 3,3,2 可以和shape 3,2 3,1 1,...
大一上學期C語言不熟知識點學習總結
大一上學期c語言不熟知識點學習總結 通過前幾章對順序結構程式設計程式 if選擇結構 switch語句 迴圈結構 陣列 函式的學習,這一次我將主要針對幾種不熟悉的知識點及題型進行分析。一.增1和減1運算子 m n 即 m n n m n 即 n m n 二.ascii碼值 a 的ascii碼值為65 ...
知識點總結 STL相關(持續補充)
恢復內容開始 vector是動態陣列,可以理解為是能夠根據需要隨時申請記憶體的動態陣列。常用操作如下 修改迭代器 元素訪問 示例 include using namespace std vector v 宣告部分 intmain 迭代器的用法 vector iterator it for it v....