STL中的nth element 方法的使用

2021-09-08 22:44:43 字數 1335 閱讀 2600

stl中的nth_element()方法的使用 通過呼叫nth_element(start, start+n, end)

方法可以使第n大元素處於第n位置(從0開始,其位置是下標為

n的元素),並且比這個元素小的元素都排在這個元素之前,比這個元素大的元素都排在這個元素之後,但不能保證他們是有序的,下面是這個方法的具體使用方法.

1 #include 2

3 #include 4

5 #include 6

7 #include 8

9using

namespace

std;

1011

1213

intmain()

1415

3637

/*由於賦值時是有序的,下面random_shuffle()方法將這些資料的順序打亂

*/38

39random_shuffle(numbers.begin(),numbers.end());

4041

4243

//location of first element of numbers

4445 start =numbers.begin() ;

4647

4849

//one past the location last element of numbers

5051 end =numbers.end() ;

5253

5455 cout << "

before calling nth_element/n

"<5657

5859

//print content of numbers

6061 cout << "

numbers /n

"<6869

7071

/*72

73* partition the elements by the 8th element,

7475

*(notice that 0th is the first element)

7677

*/78

79 nth_element(start, start+8

, end) ;

8081

8283 cout << "

after calling nth_element/n

"<8485

8687 cout << "

numbers /n

"<9495 system("

pause");

9697 }

STL中的nth element 方法的使用

stl中的nth element 方法的使用 通過呼叫nth element start,start n,end 方法可以使第n大元素處於第n位置 從0開始,其位置是下標為 n的元素 並且比這個元素小的元素都排在這個元素之前 從0開始有n 1個數 比這個元素大的元素都排在這個元素之後,但不能保證他們...

STL中的nth element 方法的使用

stl中的nth element 方法的使用 通過呼叫nth element start,start n,end 方法可以使第n大元素處於第n位置 從0開始,其位置是下標為 n的元素 並且比這個元素小的元素都排在這個元素之前,比這個元素大的元素都排在這個元素之後,但不能保證他們是有序的,下面是這個方...

C 的STL模板類 nth element

在c 的stl庫中,提供了nth element這樣乙個函式,標頭檔案algorithm 它的用法是nth element a l,a k,a r 這樣它會使a這個陣列中區間 l,r 內的第k大的元素處在第k個位置上 相對位置 將第k th 元素放到它該放的位置上,左邊元素都小於它,右邊元素都大於它...