C 演算法基礎知識總結

2021-09-19 13:03:05 字數 3028 閱讀 7393

打算刷leetcode,有些放不下python和c++這兩種語言,常有些人說用python刷演算法是作弊。感覺有些道理吧,這不認真複習一下c++的基礎。

標頭檔案:#include

使用:vector name;

訪問方式:下標訪問和迭代器訪問

迭代器訪問:

for

(vector<

int>

::iterator it = vi.

begin()

;it != vi.

end(

);it++

)

常用方法:push_back(x)pop_back()size()clear(),

insert(it,x)erase(位址)

標頭檔案:#include

使用:setname;

訪問方式:只能通過迭代器訪問,同上

常用方法:insert(x)find(value)size()clear()erase(位址)

標頭檔案:#include

使用:string str = 「abcd」;

訪問方式:下標或迭代器訪問(讀入和輸出用cin和cout)

特殊運算:+=(拼湊)、==、!=、<、<=、>、>=(這個不錯)

常用方法:insert(pos,string)substr(value)size()/length()erase(位址)

標頭檔案:#include

使用:map mp;

特殊用法:map ::iterator it;

it->first;//訪問鍵

it->second;訪問值

訪問方式:下標或迭代器訪問

特殊運算:+=(拼湊)、==、!=、<、<=、>、>=(這個不錯)

常用方法:insert(pos,string)substr(value)size()/length()erase(位址)

標頭檔案:#include

使用:queue q;

只能通過front()訪問隊首元素,back()訪問隊尾(先empty()判斷是否為空)

常用方法:push()pop()empty()size()

標頭檔案:#include

使用:stack name;

常用方法:push()top()pop()empty()size()

注:預設優先順序最大的先出

標頭檔案:#includ

使用:priority_queuename;

常用方法:push()top()pop()empty()size()

使用場景:可用於貪心問題(不用排列)

priority_queue<

int,vertor<

int>

,less<

int>

> q;

(less<

int>數字大優先順序大)

priority_queue<

int,vertor<

int>

,greater<

int>

> q;

(less<

int>數字小優先順序大)

結構體的優先順序問題(使用友元類)

struct fruit 

}

注意:使用top函式前必須用empty()判斷佇列是否為空

標頭檔案:#include

函式: max()、min()、abs()

swap(x,y); //用來交換x和y的值

reverse(it,it2);//將陣列進行反轉

sort(a,a+6);//預設遞增

stable_sort(a,a+6);//穩定排序

也可以自定義比較函式cmp

bool

cmp(

double a,

double b)

結構體陣列的排序

bool

cmp(node a,node b)

find(開始位址,結束位址,查詢數);//查詢函式(一般用於verctor的查詢)

主要實現在容器內查詢指定元素,並且這個元素必須是基本資料型別的。

查詢成功返回乙個指向指定元素的迭代器,查詢失敗返回end迭代器。

vector<

int>

::iterator result =

find

( l.

begin()

, l.

end(),

6);//查詢3

if( result == l.

end())

//沒找到

cout <<

"no"

<< endl;

else

//找到

cout <<

"yes "

<<

(*result)

<< endl;

此刻感覺只有這些比較重要的了,如果還有的話,在進行補充就可以了。

c 基礎知識總結

建構函式 1.建構函式沒有返回值,函式名就是類名 2.建構函式可以過載,以滿足對物件不同引數的需求。實參決定了呼叫哪個建構函式 3.建構函式在定義物件的時候由系統自動呼叫。且每個物件只呼叫一次。4.無參建構函式和全預設建構函式都是預設建構函式,且這倆只能存在乙個 二義性問題 5.建構函式不可以用co...

C語言基礎知識總結

第一章 軟體是一系列按照特定順序組織的計算機資料和指令的集合。程式是計算機指令的序列。語言有三種 機器語言 組合語言 高階語言。乙個簡單的程式設計一般包含四個步驟 1.分析問題,建立數學模型。2.確定資料結構和演算法。3.編制程式。4.調製程式。演算法的基本特徵 有窮性 確定性 有效性 有零個或多個...

C 學習基礎知識總結

結束當前視窗 close 字元擷取 string get year get sfz.substring 6,4 當前時間年份 datetime.now.year 型別轉換 convert.toint32 year textbox3.text convert.tostring i1 i2 判斷輸入是否...