筆試編程題常用的一些技巧方法
阿新 • • 發佈:2018-08-13
否則 space 返回 範圍 初始化方式 聲明 insert col 檢查
- 但卻容易忘記的
- pair元素賦值
1,初始化方式 pair<int, int> p(1, 2); 2,單獨賦值 pair<int, int> p; p.first = 1; p.second = 2; 3,構造函數 pair<int, int> p1(1, 2); pair<int, int> p2(p1); 4,= 賦值 pair<int, int> p1(1, 2); pair<int, int> p2 = p1; 5, make_pair 賦值 pair<int, int> p = make_pair(1, 2);
- map元素的遍歷: 使用叠代器iter->first,second 訪問
#include <map> #include <string> #include <iostream> using namespace std; int main() { //變量聲明的方式,和STL中其他方式的聲明一樣 map<int, string> mapStudent; //map的三種插入方式 mapStudent.insert(map<int, string>::value_type(1, "student_one")); mapStudent.insert(pair<int, string>(2, "student_two")); //直接賦值的插入方式可以覆蓋相同的值,但是其余兩種方式不行 mapStudent[3] = "student_three"; map<int, string>::iterator iter;for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++) cout << iter->first << ‘ ‘ << iter->second << endl; //map的查找方式 map類型的結構的find函數返回的值的類型為叠代器 /** 查找沒有的話返回mapStudent.end(),但是打印會引發異常,也就是說可以直接打印: cout << mapStudent.end()->first<<‘ ‘<<mapStudent.end()->second << endl; 但是不能直接打印返回的叠代器的,不知到為何!!!!!!!!! */ map<int, string >::iterator it; it = mapStudent.find(1); cout << it->first<<‘ ‘<<it->second << endl; //mapStudent.end()返回值是指向最後一個元素的叠代器 //cout << mapStudent.end()->first<<‘ ‘<<mapStudent.end()->second << endl; //刪除元素 iter = mapStudent.find(1); mapStudent.erase(iter); int n = mapStudent.erase(2);//如果刪除了返回1,否則返回0 mapStudent.erase(mapStudent.begin(), mapStudent.end()); //等於mapStudent.clear() system("pause"); return 0; }
- atoi 和stoi
vs環境下: stoi函數默認要求輸入的參數字符串是符合int範圍的[-2147483648, 2147483647],否則會runtime error。 atoi函數則不做範圍檢查,若超過int範圍,則顯示-2147483648(溢出下界)或者2147483647(溢出上界)。 stoi頭文件:<string>,c++函數 atoi頭文件:<cstdlib>,c函數
筆試編程題常用的一些技巧方法