stl的max函式
max_element()及min_element()函式,二者返回的都是迭代器或指標。
標頭檔案:#include algorithm
1.求陣列的最大值或最小值
1)vector容器
例 vector vec
最大值:int maxvalue = *max_element(v.begin(),v.end());
最小值:int minvalue = *min_element(v.begin(),v.end());
2)普通陣列
例 a=;
最大值:int maxvalue = *max_element(a,a+6);
最小值:int minvalue = *min_element(a,a+6);
2.求陣列最大值最小值對應的下標
1)vector容器
例 vector vec
最大值下標:int maxposition = max_element(v.begin(),v.end()) - v.begin();
最小值下標:int minposition = min_element(v.begin(),v.end()) - v.begin();
2)普通陣列
例 a=;
最大值下標:int maxposition = max_element(a,a+6) - a;
最小值下標:int minposition = min_element(a,a+6) - a;
注意:返回的是第乙個最大(小)元素的位置。
stl–sort
sort(first_pointer,first_pointer+n,cmp)
引數解釋: 第乙個引數是陣列的首位址,一般寫上陣列名就可以,因為陣列名是乙個指標常量。第二個引數相對較好理解,即首位址加上陣列的長度n(代表尾位址的下一位址)。最後乙個引數是比較函式的名稱(自定義函式cmp),這個比較函式可以不寫,即第三個引數可以預設,這樣sort會預設按陣列公升序排序。
簡單例子:對陣列a的0~n-1元素進行公升序排序,只要寫sort(a,a+n)即可;
對於向量v也一樣,sort(v.begin(),v.end())即可。
bool myfunction (int i,int j) //降序排列
利用stringstream
新增標頭檔案 #include
數字轉字串
#include #include int main()
字串轉數字
#include #include int main()
數字字元轉換為數字:
1)最簡單的是讓數字字元去減『0』得到的就是數字的值。
示例如下:
char c=『0』; //'1','2','3',.....'9'
int num=0;
num = int(c - '0');
數字轉換為數字字元
和數字字元轉數字相反 我們可以加上 『0』的ascii 就可以變為char型別
int a=1;
char c=a+『0』; //c的值就是』1』的ascii碼值
PAT甲級刷題
給定兩個字串s1和s2,刪除s1中在s2 現過的字元設定flag陣列,初始化為0。遍歷s2並將其字元轉化為ascii碼值,並在flag陣列中相應位置值標記為1,表示它出現過。再遍歷s1,若對應字元ascii碼值在flag陣列中相應位置值標記為0,則輸出。就是hash的思想,時間複雜度o len s1...
PAT刷題日誌
調整刷題策略 集中精力刷 演算法筆記 第四章的題目,夯實基礎。基礎實在太差,第八章之後的題目壓根就不會,做題的時候就是抄一遍 理解一遍 根本不能算作刷題,而是被題刷。之前乙個知識點一道題的方法根本就是走馬觀花,蜻蜓點水,抄一遍 就覺得會了,第二天就忘乾淨了 兩個字來形容 浮躁 十多天的時間裡參加了倆...
pat 刷題記錄 pat 乙級 刷題 1002
讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10 100 在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後乙個拼音數字後沒有空格。123456789098765432...