vector獲取最值元素的方法

2021-10-16 17:50:37 字數 628 閱讀 6311

當我們有乙個vector型陣列vec時,我們只需要獲取它的最大值,而又不想打亂它的順序,就會很頭疼,起初,我是這麼寫的。

vector<

int> copy;

//copy乙個陣列,浪費空間和時間

sort

(copy.

begin()

, copy.

end(

), greater<

int>()

);//逆序排列

int max = copy[0]

;

自己這麼寫之後,我就斷定,答案肯定不是這麼寫的,一看果然,很強的方法,主要還是自己對stl的vector不夠熟悉。

int max =

*max_element

(vec.

begin()

, vec.

end())

;

一行**搞定,唯美!

c++stl中的vector庫有自帶的最大值函式max_element(起始,終止),只不過返回的是指標,需要用間接引用符號*來獲取值即可。當然,也有min_element(),這個不只對vector可用,對int陣列也能用。

qt中獲取容器Vector中的最大值和最小值

獲取qt容器中的最大值和最小值的做法 一 加上標頭檔案 include 二 加上如下的 qvector data 第一種表示最大值 qvector iterator max std max element std begin data std end data 第二種表示最大值 auto max s...

C 返回最值元素

c 中優先佇列是一種特殊的佇列,能夠返回佇列中優先順序最大或者最小的元素,其內部是由堆實現的,個人認為這種方式使用更加直觀。include vectorvec priority queueheap vec.begin vec.end 注意,我們可以用vector容器來初始化priority queu...

獲取陣列中的最值

在陣列中獲取最大值之方法一 class arraydemo3 int temp getmax arr system.out.println temp public static int getmax int arr return max 因為有具體返回值型別所以需要return乙個值 第二種方法 將...