
C++旅途
文章平均质量分 60
Kelisita
别再抱怨东西太难,只是自己不会,仅此而已
展开
-
函数模板
在C++中,提供了可以自己通用的函数模板。顾名思义,还是一种函数,但是却可以变成一种通解。比如:int a 时 ,则 abs函数只针对于 int 类型 ; double b ,则只支持 double 类型;在C++则 可以将其变为 T ,则有 T abs (T x) 这样的函数;具体代码如下:#include using namespace std ;templateT原创 2016-01-19 22:50:57 · 329 阅读 · 0 评论 -
数据结构【二叉树】 二叉树的创建
#includeusing namespace std;class Node{ public: int data; Node *lchild , *rchild; Node(int _data){ data = _data; lchild = NULL; rchild = NULL; }};class原创 2016-07-12 10:48:05 · 877 阅读 · 0 评论 -
数据结构 二叉树的互相遍历求法
一丶已知前序遍历,中序遍历, 求后序遍历 (这里将读入调换,函数不变,已知中序遍历,前序遍历,求后序遍历 结果一样)代码://*二叉树已知前序, 中序, 求后序#include int t1[5000] , t2[5000] ;using namespace std ;void build(int a , int b , int n , int flag){ if(n==1原创 2016-07-11 16:33:29 · 309 阅读 · 0 评论 -
C++旅途 之 申请动态内存和释放
对于不想使用固定长度的数组,一般会考虑动态申请;而在C中是相当麻烦的操作,在C++中就变得特别简单; (一)申请动态数组int n;cin>>n;int *arr = new int[n];如上就是为arr数组申请了大小为n的空间 , 但是如果写为int n ;cin>>n;int a[n] ;这样的写法是错的;[]是对长度的定义,()是对大小的定义; 如上操作原创 2016-04-24 17:32:04 · 396 阅读 · 0 评论 -
C++ 之 优先队列 priority_queue
解释:严格上而言不算队列,因为队列遵循先进先出;优先队列则是按照规则进行出队使用:(一)直接定义:priority_queueq1;定义一个优先队列q1,队列则按照降序(从大到小出队);样例一: int a[5]={3,1,2,4,5}; priority_queueq1; for(int i = 0 ; i<5;i++) q1.push(原创 2016-04-20 15:09:26 · 324 阅读 · 0 评论 -
STL中全排列函数 next_permutation
(一)介绍: next_permutation : 全排列函数, 对1~n个数字进行不重复的排列组合;(二)用法: int dp[10] = {1,2,3,4,5,6,7,8,9,10}; next_permutation(a,a+10); (三)实现原理(函数原型)templatebool next_permutation( BidirectionalIt原创 2016-04-20 11:54:50 · 345 阅读 · 0 评论 -
文件流重定向
作用:(1)调试的时候输入很不方便,所以存在文件中点一次就行了,提升效率; (2)如果暴力跑代码,可以存在out.text里面, 优化代码,检查代码;格式:宏定义:#define fr(x) freopen(x,"r",stdin)#define fw(x) freopen(x,"w",stdout)使用:fr("in.txt"); /*从文件中读入fw("out.t原创 2016-04-11 15:35:54 · 518 阅读 · 0 评论 -
C++ 之 去重函数
对数组a,长度为n;sort(a,a+n);表达:unique(a,a+n)-a 返回不同字符的个数;注意:这里的去重不是真正意义的删除,只是放在了数组后面而已,所以要先sort;原创 2016-04-13 20:59:47 · 8150 阅读 · 1 评论 -
STL中二分查找 lower_bound()
STL中的二分查找:lower_bound(),对first 和 last中间进行搜索,也可进行插入;作用:(1)查找:返回大于或等于val的第一个元素位置。如果所有元素都小于val, 则返回last的位置; (2)插入:插入后返回插入后下标位置;eg:一个数组number序列为:4,10,11,30,69,70,96,100 ,插入3 ;i原创 2016-04-13 13:23:38 · 519 阅读 · 0 评论 -
关于位运算【目测应该长期更新】
今天在做 POJ 3279 的时候 ,遇到了位运算;大概介绍一下吧:1.因为机器内部运算都是二进制运算,而我们是通过进制转换再运算的,故,直接利用机器内部二进制运算会相对于效率高一些;2.在BFS中进制反转类问题,前提在矩阵中只有 0 和 1 的时候才可以使用;3.摘取自百度的图。常见的位运算符号;4.下来列举常用的几种:(这里针对C语言和C++语言符号)(1)原创 2016-01-24 21:08:08 · 299 阅读 · 0 评论 -
STL入门之处理相反数
STL的基本组件容器(container)迭代器(iterator)函数对象(function object)算法(algorithms)在这里使用了 transform 函数实现了相反数的处理其中:transform现代码如下:template OutputIterator transform(InputIterator first, Inpu原创 2016-01-21 20:19:44 · 461 阅读 · 0 评论 -
图论:聚集系数的求法(针对复杂网络)
按照图形理论,聚集系数是表示一个图形中节点聚集程度的系数,证据显示,在现实中的网络中,尤其是在特定的网络中,由于相对高密度连接点的关系,节点总是趋向于建立一组严密的组织关系。在现实世界的网络,这种可能性往往比两个节点之间随机设立了一个连接的平均概率更大。 在很多网络中,如果节点v1连接于节点v2,节点v2连接于节点v3,那么节点v3很可能与v1相连接。这种现象体现了部分节点间存在的密集原创 2016-11-10 18:44:50 · 34948 阅读 · 2 评论