2021 3 13第一周總結積累 STL

2021-10-21 22:40:58 字數 3635 閱讀 1911

本週在課堂上學習了兩大部分內容,分別為stl和貪心演算法。這兩部分尤其是stl在寫**中常用,有效的簡化了**。因為自身的**能力並不突出,並且這部分知識較雜較多,決定本次在總結部分加入對知識的重新整理。在課下多加練習,按時保質量完成作業,不為作業而做作業,學到真正的知識,並且堅持堅持再堅持下去。此外,本週刷題很少,一定要做題!!

*需要課外再次了解的:過載運算子、各部分在**中的應用

*萬能標頭檔案:

#include

*加快cin讀取速度:

sync_with_studio(false);

*生成各不相同的隨機數:

srand(time(0));

for(int i=0;i<100;i++)

(一)string:1.包含標頭檔案 < string >;

2.使用規範

#include

using

namespace std;

int main

sort

(b.begin(),b.

begin()

+5,cmp)

;//從num到num+5元素的降序排列

例2、兩個關鍵字排序

#include

< bits/stdc++.h>

using

namespace std;

typedef

struct index

index;

bool

cmp(index a,index b)

(七)去重unique函式1.介紹

註解:(1)「刪除」元素不是真的刪除,而是將重複的元素放在容器末尾。

(2)返回值是去重後的尾位址

(3)迭代器iterator

2.定義

如上圖(八)生成排列

1.標頭檔案

#include< algorithm >

2.操作

(1)找第乙個滿足條件的位置

lower_bound(a,a+5,要找的數);

(2)找最後乙個滿足條件的下乙個位置

upper_bound(a,a+5,要找的數);

注:該函式為二分查詢的函式化

(九)set和multiset

1.標頭檔案

#inlcude< set >

2.定義

set< 資料型別》 名字;

3.簡單應用

注:(1)set輸不進相同的元素

(2)multiset允許有相同關鍵字

(3)輸入樣例

(十)map和multimap

1.標頭檔案

#include< map>

2.定義

map(資料型別1,資料型別2> 名字;

例如

map(string,int) m; //預設按string由小到大排列

3.作用

自動排序、資料查詢

4.操作

5.插入資料方法

(1)呼叫insert函式,插入pair型別資料(目前還不太懂)

#include

#include

#include

using namespace std;

intmain()

return0;

}

(2)呼叫insert插入value_type型別資料(目前還不太懂)

#include

#include

#include

using namespace std;

intmain()

return0;

}

(3)使用陣列賦值方式

#include

#include

#include

using namespace std;

intmain()

return0;

}

6.查詢數值方法

(1)使用count方法判定是否存在

(2)使用find方法,定位key出現的位置,該方法返回乙個迭代器。

(3)使用lower_bound,upper_bound方法,返回key的邊界

map<

int,string>

::iterator iter;

iter=mapstudent.

find(1

);if(iter!=mapstudent.

end())

cout<<

"success find.\n"

;else

cout<<

"failed.\n"

;

7.刪除資料

(1)使用迭代器刪除

map<

int,string>

::iterator iter;

iter = mapstudent.

find(1

);mapstudent.

erase

(iter)

;

(2)使用關鍵字key刪除

int result = mapstudent.

erase(1

);

(3)使用迭代器,刪除區間內的資料

mapstudent.

erase

(mapstudent.

begin()

,mapstudent.

end())

;

第一周總結

第一周學習總結 第一周,我們有學習,計算機的發展,起源,計算機的各種進化,還有計算機的概念,計算機的語言,計算機的組成這些等等。讓我深刻的意識到這是很龐大的一門課程,同時也對我們接下來要學習的課程充滿了期待。對於我自己來說,第一周的學習我還是覺得挺不錯的,挺開心的,能認識到這麼多的朋友,這麼多的知識...

第一周總結

第一周這麼快就過去了,剛開學第一周,沒能擠出很多時間來學習,週六看了一天的課件,把老師給的三個課件看了個遍,線段樹講解和 裡都有很多題目,通過講解更徹底的了解了一下線段樹的原理,線段樹構造,區間查詢,單點更新,區間更新都更具體的講解了一下。後面還有常用的一些模版,也研究了一下,熟悉了具體的原理。主要...

第一周總結

恩。作為新成員,加入大佬雲集的團體 當然,我是小透明.心理壓力特別大,因為我學習比較被動,並且比較慢,相比其他新成員 我的進度條真的相當於沒有動,深深的感覺到自己是個菜雞 很多人已經看完了html,造成這個問題可能有以下幾個原因 1.我覺得不能說我沒有用心,也不能說我不認真不努力 只是說比你優秀的人...