zoukankan      html  css  js  c++  java
  • 第三天。。。

    今天学习了STL中的一些函数

    stack~~~~~栈,FILO,push进,pop出最后一个push的元素

    queue~~~~~队列,FIFO,push进,pop出第一个push的元素

    deque~~~~~双向队列,可push_front, push_back, pop_front, pop_back,来在队列前面,后面输入,从队列前面后面弹出元素

    set~~~~~,set中的元素不能重复。insert(),向set中插入元素。erase(???),擦除set中的某元素。count(???),在set中查找是否有某元素,是则返回1,否则返回0。

    algorithem~~~~~sort,将元素从小到大排序,sort(begin(),end()),若要降序排列可写成sort(begin(),end(),greater<>()),注意左闭右开  [   )。

    string~~~~~与字符串相关的函数,string可直接定义字符串,size()或lenth()某字符串的长度。string 中字符串的+将两个字符串连接起来。

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    二分法查找(复杂度低):

    首先将数列排序,a[r-l],一般升序,查找  x,数列左右两端分为 a[ l],a[ r]。

    while(l<=r)

    {

      mid= l + ( r - l )/2;

      if(a[mid]==x) return 1;

      else if (  a[mid] < x )     l = mid +1 ;  

      else if (  a[mid] > x )     r = mid -1 ;     

    }

    return -1;

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    并查集:

    ”并“:两个数    a  ,  b;合并,可视为  a  是  b  的  “爹”,再有    b  ,  c 合并,则  b 是  c 的爹,又因a是b的爹,  所以a也是c的爹。  a<------b<------c        

    fa[k]=k; 一开始,各自是各自字的爹;

    fa[b] = a ;

    fa[c] = b ;

     fa[ find(b) ]=find( a ) ;

     ”查“~~~~~找爹函数。。

    int fa[k]=k;

    int find(   int  x  )

    {

      if ( fa[x]==x;) return k;

      else return   fa[x]  =   find (  fa[x]  );

    }

  • 相关阅读:
    ql语句中left join和inner join中的on与where的区别分析
    C#如何通过属性名称反射出属性本身
    mvc中查询字符串请求过长
    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
    后台二进制文件 在前台下载方法总结
    C#中try catch finally的执行顺序
    python生成随机密码
    Bridged(桥接模式)
    NAT(地址转换模式)
    TCP协议详解
  • 原文地址:https://www.cnblogs.com/poo7/p/11621052.html
Copyright © 2011-2022 走看看