zoukankan      html  css  js  c++  java
  • STL学习心得

    STL的知识翻来复去,也就那么回事,但是真的想要熟练使用,要下一番功夫。无论是算法,还是STL容器,直白的说就是套路,然而对于一道题,告诉你是STL容器的题,让你套容器也绝非易事。 怎样使用容器,对于容器的知识的延申,像结构体类型的容器,map[ ]的映射功能真的很好用,却也难以想起。vector的下标读取,priority_queue的线性结构,也是不能忽略的问题,虽然存储结构的不是单调的,但是出队时绝对是按照单调顺序。
    做着做着题,不得不去面临一个让人难受的问题,Run Time Error ,Limit memory Error. 题目开始疯狂的压缩时间,不得bu不去寻求更加简单的解题方法。单纯用模拟做题的时代就要过去了,取而代之的才是一个学语言的真正世界。
    常用容器的特点
    1.map映射,通过key值找到value,宛如数学映射,x值对应y值,将两个量通过map联系起来,不单单是简单的排序。
    2.set容器,常用功能就是排序,他的key与value相等,在有些条件用set会比用map要简单。当set内装有结构体时,可以按结构体内的一个成员排序。
    3.vector 称作不定长数组,因为他不限定内存的大小,可以随用随开,而且可以像数组一样用下标访问。
    4.优先队列 可以按照自己定义的结构体的成员按着按照特定的规则排序,权值高者先出,重症病人插队的情况类似。

    1.二分查找功能(binary_search())
    函数功能: 在数组中以二分法检索的方式查找,若在数组(要求数组元素非递减)中查找到indx元素则返回其下标,若查找不到则返回值为假。
    函数模板:binary_search(arr[], size , indx)
    参数说明: arr[]: 数组首地址;
    size: 数组元素个数;
    indx: 需要查找的值。
    2. lower_bound():
    函数功能: 函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置
    3.upper_bound():
    函数功能:函数upper_bound()返回的在前闭后开区间查找的关键字的上界,返回大于val的第一个元素位置
    lower_bound(val): 返回容器中第一个值【大于或等于】val的元素的iterator位置。
    upper_bound(val): 返回容器中第一个值【大于】val的元素的iterator位置。

    4.next_permutation();
    prev_permutation();全排列

  • 相关阅读:
    TCP/IP(四)网络层
    TCP/IP(二)物理层详解
    TCP/IP(一)之开启计算机网络之路
    TCP/IP中你不得不知的十大秘密
    ASP .NET Core 基本知识点示例 目录
    微服务 + Docker + Kubernetes 入门实践 目录
    ASP.NET Core 中的实时框架 SingalR
    ASP.NET Core WebAPI中使用JWT Bearer认证和授权
    .NET Core 中的通用主机和后台服务
    EF Core 实现多租户
  • 原文地址:https://www.cnblogs.com/lunatic-talent/p/12799078.html
Copyright © 2011-2022 走看看