C STL簡單應用

2021-10-03 15:32:23 字數 3998 閱讀 8110

string 表示可變長度的字串行

字串是物件

string 類支援字串物件的各種操作

各種初始化方式

字串之間的複製、比較、連線

查詢字串長度和判斷字串是否為空

訪問字串中的單個字元

使用string 類要包含標頭檔案

#include

#include

using

namespace std;

intmain()

/*a b c d

a b c d

is not empty!`

nihaoshijie!

hello world!

a b c d

aprocess returned 0 (0x0) execution time : 34.879 s

press any key to continue.

*/

隨機訪問string中的字元,用下標運算子可以訪問string物件中指定位置的字元string

物件s的下標範圍從0到s.size()-1

stack是一種先進後出(first in last out, filo)的資料結構,它只有乙個出口,只能操作最頂端元素。

標頭檔案

定義stackname

常用操作:

name.empty()返回bool型別,判斷是否為空

name.size()返回棧內元素個數

name.top()返回棧頂元素值

name.pop()移除棧頂元素

name.push()從棧頂新增元素

**先出

#include

#include

using

namespace std;

intmain()

/*size:4

top:4

size:3

is empty!

process returned 0 (0x0) execution time : 0.033 s

press any key to continue.

*/

stack是一種先進後出(first in last out, filo)的資料結構,它只有乙個出口,只能操作最頂端元素。

標頭檔案

定義queuename

常用操作:

name.empty()返回bool型別,判斷是否為空

name.size()返回queue內元素個數

name.push()從queue頂新增元素

name.pop()從queue元素

name.front()返回queue內的下乙個元素

name.back()返回queue內的最後乙個元素

先入先出

#include

#include

using

namespace std;

intmain()

/*size:4

back:4

front:1

size:3

pop.back:4

pop.front:2

is not empty!

process returned 0 (0x0) execution time : 0.032 s

press any key to continue.

*/

標頭檔案定義vectorname常用操作:

name.empty()返回bool型,表示vector是否為空

name.size()返回vector內元素個數

name.push_back將元素a插入最尾端

name.pop_back() 將最尾端元素刪除

v[i]類似陣列取第i個位置的元素

#include

#include

using

namespace std;

intmain()

for(i=

0;i<

5;i++

) cout<

<<

" ";

cout<

cout<<

"size:"

<

size()

<

v.pop_back()

;for

(i=0

;isize()

;i++

) cout<

<<

" ";

cout<

return0;

}/*5 4 3 2 1

size:5

5 4 3 2

process returned 0 (0x0) execution time : 0.031 s

press any key to continue.

*/

標頭檔案:#include定義:priority_queue name;//預設是大頂堆

常用操作:

q.push(elem)將元素elem置入優先佇列

q.top()返回優先佇列的下乙個元素

q.pop()移除乙個元素

q.size()返回佇列中元素的個數

q.empty()返回優先佇列是否為空

接下來通過例項來理解:

關鍵在於搞清top()和pop()所取元素的位置

優先佇列的特點:

其中在解釋原理中使用了過載運算子

優先佇列預設從大到小排列

C STL簡單應用

include include include 容器 陣列的增強版 include 去重,排序 include 自動建立key value對應 include 棧 先進後出 include 佇列 先進先出 using namespace std int main vector v a,a 3 不能直...

c stl應用入門

在這篇中,我會講幾個簡單易懂且比較常用的stl函式,這些函式在noip系列考試中往往被允許使用 既然讓用我們自然不用手碼了.末尾有驚喜!絕大部分剛入門的oier第乙個接觸的stl函式就是sort函式,這是乙個簡單而又快速的排序函式 通過內部整合的快速排序的 可以在o nlogn 的時間內完成乙個長度...

C STL簡單介紹

stl standard template library,標準模板庫 是c 對泛型程式設計思想的實現,最早是惠普實驗室開發的。在被引入c 之前該技術就已經存在了非常長的一段時間。後來stl成為ansi iso c 標準的一部分。各個 c 廠商也有各自對應的模板庫,這些庫效率可能非常高,但可移植性不...