zoukankan      html  css  js  c++  java
  • 笔试编程题常用的一些技巧方法

    - 但却容易忘记的

    - 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函数
  • 相关阅读:
    如何实时抓取动态网页数据?
    产品经理面试——简历填写
    项目章程
    IDEA 必要配置
    项目章程
    基础知识02 零基础入门学习汇编语言02
    基础知识03 零基础入门学习汇编语言03
    进制转换教程
    基础知识04 零基础入门学习汇编语言04
    基础知识01 零基础入门学习汇编语言01
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/9465350.html
Copyright © 2011-2022 走看看