
C++
I AM A BIG SHARK
Just keep learning!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
值得推荐的C/C++框架和库
强推:http://www.ezlippi.com/blog/2014/12/c-open-project.html转载 2020-09-17 21:03:29 · 190 阅读 · 0 评论 -
GCC 详解
[root@bogon ~]# gcc -xc demo.c #或者直接运行 gcc demo.c[root@bogon ~]#原创 2020-09-17 20:53:16 · 2840 阅读 · 0 评论 -
C++ 二进制运算符
c/c++中常用的二进制运算符有六个。 1.&: 与 操作.作用于两个二进制数,当然也可以对整型数据进行操作(当两边为整型数据会自动转化为二进制数).二进制与用来对位进行置零或者复位.如果两个值进行二进制与,只有当两个对应的位都为1时结果位上为1(同1结果为1,有0结果为0),其他情况都为0.如下: 01011001 &00101001 结果为:00001001010110010010100100001001 2.|:...原创 2020-09-12 20:34:08 · 4908 阅读 · 2 评论 -
Leecode 剑指 Offer 12. 矩阵中的路径
题目请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[["a","b","c","e"],["s","f","c","s"],["a","d","e","e"]]但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第原创 2020-09-12 20:13:36 · 256 阅读 · 0 评论 -
C++ vector用法
vector一维vector<int> a; 等同于声明了一个数组int a[ ],大小没有指定,可以实现动态的添加删除。二维vector <int *> aint b = 5;a.push_back(b); //该函数下面有详解cout<<a[0]; //输出结果为5函数#include<iosteam>#include<vector>using namespace std;in...原创 2020-09-10 20:33:04 · 203 阅读 · 0 评论 -
C++ 队列Queue
C++队列Queue类成员函数如下:back() 返回最后一个元素empty() 如果队列空则返回真front() 返回第一个元素pop() 删除第一个元素push() 在末尾加入一个元素size() 返回队列中元素的个数#include <iostream>#include <queue>#include <assert.h>/*调用的时候要有头文件: #include<stdlib.h> 或 #include<c原创 2020-09-10 20:06:33 · 333 阅读 · 0 评论 -
C++ 栈Stack
首先看一下原c++栈的方法的基本用法:push(): 向栈内压入一个成员; pop(): 从栈顶弹出一个成员; empty(): 如果栈为空返回true,否则返回false; top(): 返回栈顶,但不删除成员; size(): 返回栈内元素的大小;#include<iostream>#include<stack>using namespace std;int main(){ stack <int>stk; //入栈 f原创 2020-09-10 19:37:35 · 164 阅读 · 0 评论 -
C++ new 和 malloc的区别
这里先对new和delete简单进行一下总结,然后再细说new和malloc的区别。一、new和deleteC语言提供了malloc和free两个系统函数,完成对堆内存的申请和释放。而C++则提供了两个关键字new和delete;1.1 规则new/delete是关键字,效率高于malloc和free。配对使用,避免内存泄漏和多重释放。避免交叉使用,比如malloc申请空间delete释放,new出的空间被free。new/delete 主要是用在类对象的申请和释放。申请的时候会调用构原创 2020-07-13 17:35:03 · 422 阅读 · 0 评论 -
匈牙利算法-ACM
趣写算法系列之--匈牙利算法(点击打开链接):【书本上的算法往往讲得非常复杂,我和我的朋友计划用一些简单通俗的例子来描述算法的流程】匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。-------等等,看得头大?...转载 2019-03-04 11:04:33 · 436 阅读 · 0 评论 -
POJ1651:Multiplication Puzzle(区间DP) -ACM
POJ - 1651 Multiplication Puzzle(区间DP)Time Limit:1000MS Memory Limit:65536K Total Submissions:14252 Accepted:...原创 2019-03-03 23:25:56 · 179 阅读 · 0 评论 -
背包问题-ACM
原作地址:https://blog.youkuaiyun.com/yoer77/article/details/709434620-1背包问题有n个重量和价值分别为 wi,viwi,vi 的物品, 求所有挑选方案中价值总和的最大值。样例: n=4 (w,v)=(2,3),(1,2),(3,4),(2,2) W=5n=4 (w,v)=(2,3),(1,2),(3,4),...转载 2019-03-03 20:33:38 · 230 阅读 · 0 评论 -
线段树详解及应用-ACM
本文转自:https://www.cnblogs.com/TheRoadToTheGold/p/6254255.html目录一、基本概念二、线段树的基础操作1、建树2、单点查询(即查询一个点的状态,设待查询点为x)3、单点修改(即更改某一个点的状态,对第x个数加上y)4、区间查询(即查询一段区间...转载 2019-02-28 15:33:39 · 290 阅读 · 0 评论 -
快速幂-ACM
朴素的求幂算法也就是平常使用pow函数,最简单的实现就是一直累乘,可以得到这样的代码:int Pow(int a,int b){ int ans = 1; for(int i = 0;i < b;i++){ ans *= a; } return ans;}可以看到,算法的时间复杂度是O(n)。为了降低时间复杂度,我们可以使用快速幂...转载 2019-02-27 21:55:46 · 4844 阅读 · 1 评论 -
矩阵连乘问题-动态规划-ACM
题目描述: 给定n个矩阵{A1,A2,…,An},其中,Ai与Ai+1是可乘的,(i=1,2 ,…,n-1)。用加括号的方法表示矩阵连乘的次序,不同的计算次序计算量(乘法次数)是不同的,找出一种加括号的方法,使得矩阵连乘的次数最小。例如: A1是A(5*10)的方阵; A2是A(10*...转载 2019-02-27 21:49:34 · 1833 阅读 · 0 评论 -
平衡二叉树-ACM
平衡二叉树平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF,那么平衡二叉树上的所有结点的平衡因子只可能是-1、0和1。只要二叉树上有...转载 2019-02-27 21:42:33 · 776 阅读 · 0 评论 -
差分约束系统详解-ACM
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/consciousman/article/details/53812818 &lt;/div&gt; &lt;link rel="stylesheet" href="https://csdnimg.cn/release/p...转载 2019-02-27 21:27:58 · 693 阅读 · 0 评论 -
C++ 随机生成具有上下限的整数或小数、字符串
当我们要使用随机生成数时,可以直接调用cstdlib库里面的rand( )函数,但是如果只用这一个函数的时候,每次运行程序的生成树都是相同的(可自行测试),因为随机生成树的种子默认为1;所以我们可以自己来定义一个随机生成数种子srand( );运用ctime库里面的time( )函数来生成随机生成数(因为每分每秒的时间都是不同的); 随机生成15-25范围内的随机整数,代码如...原创 2019-01-16 10:36:26 · 1053 阅读 · 0 评论