1.找元素速度快,但可能发生哈希冲突

一般哈希表都是用来快速判断一个元素是否出现集合里。

哈希冲突的解决?

2.Multimap和map的操作类似,唯一区别multimap键值可重复

multiset

3.利用auto减少打字

我们都是用auto这个关键字来代替一个具体变量的类型定义,让编译器自己去寻找和从它的初始化过程中来推演这个变量的类型。最著名的关于auto的用法恐怕莫过于用它来躲开一堆长长的类型名,比如STL容器的iterator,但是它也可以有其他用处:

 std::vector<int> nums;for(auto iter = std::begin(nums); iter != std::end(nums); iter++) {auto& n = *iter;n = someFunction();}

在上边这个例子中,iter就被推演为类型std::vector<int>::iterator,然后n的类型被推演成int&。需要注意的是n被显式地声明为引用类型,否则他就是int类型了。

C++干货系列——谈谈在变量中使用auto - 知乎 (zhihu.com)

4.(fn+右键等于end键 )

光标定位到行首,再按shift+end 选中一行

home+shift+向下箭头,1,小窗,2,收起页面

选中多行:shift+上键或下键

5.优化统计字符串的是否是独立单词的优化思路

出现数组就加一,再出现数组就减一,如果数组最后不全为0,肯定就不咯

6.c++输入输出流?

(81条消息) 【C++】输入输出流(IO流)_c++输入输出流_山舟的博客-CSDN博客

标准输入输出流cin,cout

文件流fstream

void WriteFile()
{
    //类似于C语言的用法
    //ofstream ofs("write.txt");
    //ofs.put('h');
    //char msg[] = "ello world";
    //int size = sizeof(msg);
    //ofs.write(msg, size);
    //可调可不调,因为ofs出了作用域后析构函数会自动调用
    //ofs.close();

//C++的新用法
    ofstream ofs("write.txt");
    char c = 'h';
    string str = "ello world";

ofs << c << str;//这样就如同文件流一样输出了helloworld
}

字符流sstream

是反的 输入是《

stringstream ss;

ss << a << " " << b;

输出:

#include <sstream>
#include <iostream>

using namespace std;

struct ServerInfo
{
    string ip;
    int port;
};

int main()
{
    stringstream ss;
    ServerInfo info = { "192.0.0.1",8081 };

ss << info.ip << " " << info.port;
    
    //将s中的内容又写入newInfo中
    //注意:不同项的内容必须以空格或换行结尾,这是C/C++都要求的
    ServerInfo newInfo;
    ss >> newInfo.ip >> newInfo.port;

return 0;
}
sstream的更多高级应用

(1).把其他类型转化为string类型

(2).实现选择性读取不同的数据类型

(82条消息) sstream用法_南方以北的博客-CSDN博客

7.cin,cout效率不如scanf等?加上即可提升

(81条消息) C++之sync_with_stdio(false)_赵大宝字的博客-CSDN博客

在代码里加上std::ios::sync_with_stdio(false) 这个语句后,cin(cout)速度就会变得和scanf(printf)一样快

eg

  1. std::ios::sync_with_stdio(false);

  2. for (int i = 0; i < 100000; i++){

  3. cout << i << endl;

  4. }

ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
同时在默认的情况下cin绑定的是cout,每次执行<<操作符的时候都要调用flush,这样会增加IO负担。可以通过tie(0)来解除cin与cout的绑定,进一步加快执行效率。

但是用了sync_with_stdio(false)之后不能与printf和scanf同用,否则会出错,这就涉及到sync_with_stdio(false)的局限性。

因为本来这个函数存在就是可以使cout和printf不冲突

8.输入重定向是什么呢?

那么,什么是重定向呢?在默认情况下,cin 只能接收从键盘输入的数据,cout 也只能将数据输出到屏幕上。但通过重定向,cin 可以将指定文件作为输入源,即接收文件中早已准备好的数据,同样 cout 可以将原本要输出到屏幕上的数据转而写到指定文件中。

9.迭代器的使用?见之前stl学习的文章

课堂5,9日

10.题1 :输入n个元素组成的序列S,请找出一个乘积最大的连续子序列

深搜?

11. 枚举,先减少循环层数,再减少循环变量的范围(数字分析),(逆向思想)

典例

石头移动问题 (二分枚举)_石头距离问题_yi__cao的博客-CSDN博客

4.25学习笔记 哈希表相关推荐

  1. 阿龙的学习笔记---哈希表与C++11中unordered_map学习笔记

       散列表(Hash table,也叫哈希表),是根据 关键码值(Key value) 而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函 ...

  2. 数据结构学习笔记 哈希表(一) 哈希表基础与哈希函数

    ------HR:The first question is what you do if you have a conflict with your manager ? ------You:Hash ...

  3. 【代码随想录】【LeetCode】学习笔记04-哈希表

    前言 哈希法牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找. 如果遇到需要判断一个元素是否出现过的场景,应该第一时间想到哈希法! 四个常见哈希表类型对 ...

  4. HTML/CSS学习笔记02【表单标签】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  5. HALCON 20.11:深度学习笔记(7)---术语表

    HALCON 20.11:深度学习笔记(7)---术语表 HALCON 20.11.0.0中,实现了深度学习方法.下面,我们将描述深度学习环境中使用的最重要的术语: anchor (锚) Anchor ...

  6. Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...

    天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...

  7. 陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮

    陈表达VBA学习笔记-新建工作表鼠标右键菜单按钮:新建一个我的菜单按钮 设置对应的宏过程名称为 [我的菜单宏] 点击按钮弹窗信息,信息可自定义设置 详细代码如下: Sub 新建右键菜单()Dim 菜单 ...

  8. 编译原理学习笔记20——符号表

    编译原理学习笔记20--符号表 20.1 符号表的组织与操作 20.2 符号表的内容 20.3 利用符号表分析名字的作用域 20.1 符号表的组织与操作 符号表 符号表的作用与组织 符号表的整理和查找 ...

  9. 在php中表单传值怎么用,PHP学习笔记 01 之表单传值

    一.HTML传值/PHP接收方法 1.GET(地址栏+问号+数据信息) (1)方式一:表单Form: method = 'get' GET接收数据方式: $_GET['表单元素name对应的值] (2 ...

最新文章

  1. 优秀ASP.NET程序员修炼之路
  2. 自编码器深度分析+定制特征描述子构建初探
  3. EFI BIOS下的磁盘管理工具Diskpart,Efifmt与Efichk(转)
  4. 水滴石穿之页面遮罩层实现、向window.open()打开的窗口POST数据
  5. SSH远程链接:SCP远程拷贝文件与文件夹
  6. 在HTML中取得请求中的参数
  7. java世博会_世博会申请由xcode修改
  8. 二维码ZBar之ZBarReaderView
  9. windows获取CPU温度
  10. 【学习笔记】seckill-秒杀项目--(8)页面优化
  11. java 菱形_java空心菱形
  12. dell计算机的硬盘如何分区,戴尔电脑分盘怎么分区
  13. adb如何在linux下安装目录,Linux下Android ADB驱动安装详解
  14. mysql数据库报错1146_数据库错误代码1146 - 本地与在线
  15. 用SDK包开发K66FX18学习笔记(5)
  16. 计算机更新配置卡住了,win10更新设置卡死怎么办|win10更新设置卡死的完美解决方法...
  17. VUE MVVM实现
  18. 【Python】利用摸鱼的时间,我写了一个三国杀开盒模拟器...
  19. 单向链表的创建与遍历(先进先出和先进后出)
  20. 零基础数据分析师视频教程考证课1到3spss/R语言/Python3/CDA网课

热门文章

  1. 30岁以后的华丽转身
  2. 小程序经济大爆发,微信向左,百度向右
  3. 第十诫:在规则中理解精意
  4. request到ATA cmd的转换过程
  5. VirtualBox开机后黑屏
  6. 3Dmax模型导入unity3d
  7. FPGA串口回环实验
  8. 航班系统C语言程序流程图,飞机订票系统(C语言代码及流程图)
  9. B 站弹幕 protobuf 协议还原分析
  10. 教你怎样选择伺服电机控制方式