【STL】reverse()函式
函式功能:將序列[first,last)的元素在原容器中顛倒重排,包含在algorithm庫中。
- reverse()函式無返回值,時間複雜度O(n)。
- 可以看到函式中是last是先減一。應當理解的是vector.end()是指向陣列最後一個元素後面的位置。
- reverse(v.begin(), v.end())即可實現全陣列的反轉。
reverse的random access iterator版
template<class RandomAccessIterator> void __reverse(RandomAccessIterator first, RandomAccessIterator last, random_access_iterator_tag) { while(first < last) iter_swap(first++, --last); }
運用例項:
Leetcode 969. Pancake Sorting
參考書籍:
- 《STL原始碼剖析》
相關推薦
【STL】reverse()函式
函式功能:將序列[first,last)的元素在原容器中顛倒重排,包含在algorithm庫中。 reverse()函式無返回值,時間複雜度O(n)。 可以看到函式中是last是先減一。應當理解的是vector.end()是指向陣列最後一個元素後面的位置。 reverse(v.begin(),
【STL】max_element()函式
函式功能:指向序列之中陣列最大元素,包含在algorithm庫中。 函式返回迭代器,時間複雜度O(n)。 版本一 template<class ForwardIterator> ForwardIterator max_element(ForwardIterator first, F
5、【C++ STL】仿函式(函式物件)
仿函式(函式物件) 仿函式又稱函式物件,函式物件首先是一個物件,即某個類的例項。其次,函式物件的行為和函式一致,即是說可以像呼叫函式一樣來使用函式物件,如引數傳遞、返回值等。這種行為是通過過載類的()操作符來實現的。 【示例】 class Print {
【STL】string中c_str()、data()函式的用法
標準庫的string類提供了3個成員函式來從一個string得到c型別的字元陣列:c_str()、data()、copy(p,n)。1. c_str():生成一個const char*指標,指向以空字元終止的陣列。注: ①這個陣列的資料是臨時的,當有一個改變這些資料的成員函
【STL】vector的五種建構函式
vector的五種建構函式, 例子摘自MSDNvoid test_vector_constructor() { // 0. Create an empty vector v0 std::vector<int> v0; assert(v0.empty());
【C++】accumulate函式的用法(STL)
在標頭檔案#include <numeric> 裡(但是我用的時候在PAT裡面不寫標頭檔案似乎也沒關係……)主要是用來累加容器裡面的值,比如int、string之類,可以少寫一個for迴圈比
【STL】list的簡單剖析以及各種函式的實現
STL中的list是比較常用的容器,對於任何位置的元素插入或元素移除,list永遠是常數。 list中的迭代器在插入和刪除後,仍然有效,但是耦合操作splice操作可能使迭代器失效,而vector就不成立了。 list節點 template <
【STL】bind1st與bind2nd函式解析
// bind1st和bind2nd函式把一個二元函式物件繫結成為一個一元函式物件。 // 但是由於二元函式物件接受兩個引數,在繫結成為一元函式物件時需要將原來兩個引數中的一個繫結下來。 // 也即通過繫結二元函式物件的一個引數使之成為一元函式物件的。 // bind1st
UVA 11991 Easy Problem from Rujia Liu?【STL】
dex space queue rom () ont cti process 代碼 題目鏈接: option=com_onlinejudge&Itemid=8&page=show_problem&problem=3142">ht
【STL】NYOJ 412 Same binary weight (bitset)
php span tdi p s 每次 long lib 輸入 scanf 題目鏈接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=412 Same binary weight 時間
【STL】【HDU5842】2016中國大學生程序設計競賽 - 網絡選拔賽 K. Lweb and String (set)(水~~~)
using 試用 字母 個數 urn 答案 def ret cde 鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5842 水題,可以用來練習STL中的set 題目大意:給你一串字符串,字符串中的某個字母可以替換為一個數字
【STL】【HDU2024】C語言合法標識符【水題】
AI info targe == () 簡潔 技術分享 type #define 鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2024 既然要求了全體同學都要刷完杭電100題,那我還是以身作則,也都給刷完吧~~~ 這些水題真的是
華農oj Problem B: Averyboy找密碼【STL】
typedef begin hand 密碼 esp TP esc 1.0 bitset Problem B: Averyboy找密碼 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 83 Solved: 29 [Submit
【STL】set的使用
scan i++ details node con 通過 tor space for set默認進行升序排列,通過結構體可以改。 維護一個比主人公分數高的set 降序排列,比主人公高就進入set 比主人公低就不進去,或者在刪除操作裏刪掉。 然後血的教訓 https://bl
【C++】物件函式的覆蓋、過載、多型
覆蓋 Coverage 在基類中定義了一個非虛擬函式,然後在派生類中又定義了一個同名同參數同返回型別的函式,既是覆蓋 在派生類物件上直接呼叫這個函式名,則只會呼叫派生類中的同名函式 #include <iostream> using namespace std;
函式和常用模組【day04】:函式介紹(一)
本節內容 1、函式介紹 2、函式定義 3、為什麼要使用函式 一、介紹 在我們以往的學習程式設計的過程當中,碰到的最多的兩張程式設計方式或者說程式設計方法:面向過程和麵向物件。其實不管是哪一種,其實都是程式設計的方法論而已。但是現在有一種更古老的程式設計方式:函數語言程式設計,以它的不儲存的狀態,
BZOJ 3252 攻略【貪心】【stl】
貪心的想一想,我們每次都選取權值之和最大的一條鏈。 m x [
堆【STL】
堆【STL—優先佇列】 洛谷P3378 P.S. stl用法大全 需要用到的標頭檔案 #include<queue> 定義一個堆 priority_queue<型別>name; P.S. 定義的堆預設為大根堆,要定義小根堆可以 pr
【 MATLAB 】nextpow2 函式用法之 Optimize FFT with Padding
您可以使用nextpow2來填充傳遞給fft的訊號。 這樣做可以在訊號長度不是2的精確冪次時加速FFT的計算。 Optimize FFT with Padding 下面這個例子展示了 使用填充優化FFT的案例,通過使用函式nextpow2完成: clc c
【筆記】生成函式與大揹包問題
網頁崩了。。。具體內容心情好了再貼。。。 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 ll p[100005]; 5 ll q[200005];