![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 90
echo__Moon
这个作者很懒,什么都没留下…
展开
-
C++ string类
要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using namespace std;string类的构造函数:string str();string str(s1); //s1为char*字符串数组或string的对象,用 s初始化string str(n, c); //用n个字符c初始化原创 2017-11-15 15:01:06 · 1017 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记五——排序
整个排序能够在主存中完成,元素个数相对较小(小于10^6),称为内部排序,若不能在主存中完成而必须在磁盘或磁带上完成的排序则为外部排序。插入排序 由N-1趟排序组成,对于P = 1到P=N-1趟,插入顺序保证从位置0到P上的元素为已排序状态。void insertSort(vector<int>& a){ int i, j;...原创 2018-08-21 21:23:42 · 387 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记四——散列表(哈希表)、优先队列(堆)
哈希表 散列(hash)是以常数平均时间复杂度进行插入,删除和查找的继续,但不支持排序操作。 每个关键字被映射到从0到TableSize-1范围中的某个数,并放到适当的单元中,这个映射就叫做散列函数(hash function),理想情况下不同关键字映射到不同单元,但由于单元有限,因此要寻找散列函数在单元间均匀地分配关键字。当两个关键字散列映射到同一个值的时候...原创 2018-08-21 16:35:10 · 676 阅读 · 0 评论 -
Leetcode——Path Sum系列及unique paths系列
112. Path SumGiven a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.Note: A leaf is a node with no chil...原创 2018-08-24 15:22:09 · 120 阅读 · 0 评论 -
Leetcode——House Robber系列
198. House RobberYou are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is ...原创 2018-08-23 22:16:11 · 401 阅读 · 0 评论 -
Leetcode——Best Time to Buy and Sell Stock系列
121. Best Time to Buy and Sell Stock(一次)Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (i.e.,...原创 2018-08-23 20:59:39 · 161 阅读 · 0 评论 -
《剑指offer》学习笔记
扎实的基础知识:1.编程语言(C++):概念理解 分析代码运行结果 写代码定义一个类或类的成员函数(构造函数,析构函数,运算符重载) 《Effective C++》,《C++ primer》2.数据结构(二叉树和链表...原创 2017-11-22 22:23:07 · 535 阅读 · 0 评论 -
Leetcode ——2sum, 3sum, 3sumcloset. 4sum
1. Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not u...原创 2018-08-23 11:28:28 · 142 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记三——树
二叉树 一棵二叉树(binary tree)由结点(node)的有限集合组成,这个集合或者为空(empty),或者由一个根结点(root)以及两棵不相交的二叉树组成,这两棵二叉树分别称为这个根的左子树(left subtree)和右子树(right subtree)。这两棵子树的根称为此二叉树根结点的子结点(children);从一个结点到其两个子结点都有边(edge)相连,这...原创 2018-08-19 13:17:58 · 352 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记二——表、栈、队列
线性表(List) 线性表的实现有两种标准方法——顺序表(array-based list或sequential list)和链表(linked list)。 顺序表由数组实现,顺序存储大小事先固定,可能浪费大量空间,优点是可以随机访问O(1),但插入和删除为O(n); 链表元素的个数就没有限制,不连续存储,链表的空间需求为O(n),访问元素...原创 2018-08-18 14:02:57 · 242 阅读 · 0 评论 -
《数据结构与算法分析》学习笔记一——算法分析
算法 算法(algorithm)是为求解一个问题需要遵循的、被清楚地指定的简单指令的集合。 数学基础1. 大O表示法: 如果存在正常数 c 和 n0 使得当 N ≥ n0时,T(N) ≤ cf(N),则记为T(N) = O(f(N))。 (描述了T(N)的相对增长率小于等于f(N)的相对增长率。)2. 大Ω表示法: 如果存在正常数 c...原创 2018-08-18 10:42:53 · 841 阅读 · 0 评论 -
《C++ Primer》扫盲
变量和基本类型 1. int和long的范围一致,-2147483648~2147483647,若超过int范围选用long long。2. char在一些机器上有符号,一些机器上无符号,所以用char直接做运算,容易出错。3. 执行浮点数运算,使用double,float精度不够,且二者计算代价相差无几,有些甚至double更快。4. 浮点数赋值给整形变量时,不四舍五入,只...原创 2018-08-08 16:21:34 · 202 阅读 · 0 评论 -
C++ vector用法
在c++中,vector是一个十分有用的容器。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。特别注意:使用vector需要注意以下几点:1、如果你要表示的向量长度较长(需要为转载 2017-12-03 09:52:37 · 194 阅读 · 0 评论 -
STL容器学习总结(二)
关联式容器的定义所谓关联式容器,概念上类似关联式数据库(实际上则简单许多):每项数据(元素)包含一个键值(key)和一个实值(value)。当元素被插入到关联式容器中时,容器内部数据结构(可能是RB-tree,也可能是hash-table)便依照其键值大小,以某种特定规则将这个元素放置于适当位置。关联式容器没有所谓头尾(只有最大元素和最小元素),所以不会有push_back(),push_fr转载 2017-12-09 20:08:05 · 204 阅读 · 0 评论 -
STL容器学习总结(一)
标准库中的容器分为顺序容器和关联容器。顺序容器(sequential container)内的元素按其位置存储和访问,顾名思义,这些内部元素是顺序存放的;顺序容器内的元素排列次序与元素值无关,而是由元素添加到容器里的次序决定。而关联容器的元素按键(key)排序。 容器类共享部分公共接口。标准库定义的三种顺序容器类型:vector、list、deque(double-ended q转载 2017-12-08 13:23:44 · 160 阅读 · 0 评论 -
Leetcode——单调栈系列
参考:http://www.cnblogs.com/grandyang/p/8887985.html 所谓的单调栈Monotone Stack,就是栈内元素都是单调递增或者单调递减的。 单调栈的一大优势就是线性的时间复杂度,所有的元素只会进栈一次,而且一旦出栈后就不会再进来了。 单调递增栈可以找到左起第一个比当前数字小的元素。比如数组 [2 1 ...原创 2018-09-03 17:08:44 · 3363 阅读 · 0 评论