码迷,mamicode.com
首页 > 其他好文 > 详细

alg memo

时间:2015-06-11 16:18:29      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:

1. 二分查找

 1 int bSearch(int arr[], int begin, int end, int target) {
 2     int mid, left = begin, right = end;
 3     while(left <= right) {
 4         mid = (left + right) / 2;
 5         if(arr[mid] == target)
 6             return mid;
 7         if(arr[mid] > target)
 8             right = mid - 1;
 9         else
10             left = mid + 1;
11     }
12     return left; //Not found, return the closest on the RIGHT
13     //return right; //Not found, return the closest on the LEFT
14 }    

2. stl申请二维数组

1 vector<vector<int>> f(m, vector<int>(n, 0));

3. vector

1 vec.insert(vec.begin()+1, elem); //在第二位插入一个元素 vec.erase(vec.begin()+1); //删除第二位的元素 
2 vec.back(); //传回最后一个元素 
3 vec.pop_back(); //删除最后一个元素 
4 vec.push_back(elem); //加入一个元素 
5 vec.empty(); //判空 
6 std::vector<int> vec1(vec.begin() + 2, vec.end() - 1); //复制一个vector中间一段数据到新的vector

4. map

 1 /*遍历*/ 
 2 for(auto it = myMap.begin(); it != myMap.end(); it++) {     
 3     cout << it->first << "" << it->second << endl; 
 4 } 
 5 /*查找*/ 
 6 auto it = myMap.find(key); 
 7 if(it != myMap.end()) {     
 8     cout << it->first << "" << it->second << endl; 
 9 } else {     
10     cout << "Not found" << endl; 
11 } 
12 
13 myMap.clear(); //清空 
14 myMap[key] = value; //插入一个元素,若key已存在则覆盖旧的value myMap.insert(pair<keyType, valueType>(key, value)); //插入一个元素,若key已存在则插入失败 
15 myMap.erase(key); //删除键值为key的元素,成功返回1,否则0

5. sort

1 /*从大到小排*/ 
2 bool cmp(int a, int b) {     
3     return a < b; 
4 } 
5 
6 sort(vec.begin(), vec.end(), cmp);

 

alg memo

标签:

原文地址:http://www.cnblogs.com/liboli/p/4568956.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!