随笔分类 -  C/C++

the articles of this part are main focus on language of C/C++
摘要:【原创】 我们在很多情况下会遇到这样的情况,比如说,一个链表,他的数据类型有int,char,double等,这个时候我们可能直观的理解就是建立多个struct Node{};这样固然能狗解决问题,但是这并不可取,太过死板,这时候利用c++中的模板,可以很好的解决这一问题;关于模板那里的东西,可以查 阅读全文
posted @ 2017-03-14 10:51 小小范同学 阅读(4271) 评论(0) 推荐(2)
摘要:【原创】 c++的STl中为我们提供了许多十分方便的函数,尤其在字符串处理方面上可以说是十分的方便,我们来看一个题目 这是2009年华中科技大学的计算机研究生复试题目,这道题看上去那么多,但是我们只要会用c++ STL中的几个函数,便可以十分方便的解决这个问题, 思想:这里需要在一个很长的字符串中找 阅读全文
posted @ 2017-03-08 15:49 小小范同学 阅读(660) 评论(0) 推荐(0)
摘要:原创 今天来说说最小生成树问题,我们知道最小生成树有两种求法,一种是prim算法,另一种是kruskal算法,关于两种算法的定义以及证明,请查看相关资料,这里不多说,理解起来也相当容易,我们来看一个问题描述: 很明显,这就是求最小生成树,并计算其最小权值和的问题,我们不妨将边定义成结构体,如下代码: 阅读全文
posted @ 2017-03-05 15:23 小小范同学 阅读(825) 评论(0) 推荐(0)
摘要:【原创】 利用并查集解决这样一个问题, 这个问题可以利用一个并查集合并来解决,在数组Tree[]中Tree[x]保存了x号节点的父亲节点,那么通过这样的若Tree[x]中的值为-1,则说明x为根节点,其实这个问题类似的可以看成查找连通分量,也就是说一个集合就是一个联通分量;看代码: 阅读全文
posted @ 2017-03-05 11:29 小小范同学 阅读(661) 评论(0) 推荐(0)
摘要:【原创】 最大子矩阵,也就是在一个矩阵中找一个子矩阵,使其和最大,至于所采用的思想便是求数组的最大子序列,比如1,2,-1,-1,3,这个数组的最大和就是本身为4;再比如1,2,-1,-3,4,这个数组额度最大子序列为4,即最后一个数,那么在矩阵中通过将各行相加,并找出相加后的数组的最大子序列和,便 阅读全文
posted @ 2017-03-05 10:16 小小范同学 阅读(721) 评论(0) 推荐(0)
摘要:【原创】 使用C++STL中的vector, 另外一些操作: v.clear();清空; v.erase(v.begin()+I,v.begin()+i+1);这里表示删除了第I个元素,可以连续删除多个,要弄清楚这里面的两个参数即可;这里的i可以从0开始,即是vector的下标 可以利用vector 阅读全文
posted @ 2017-03-04 15:42 小小范同学 阅读(417) 评论(0) 推荐(0)
摘要:【原创】 代码思想:利用一个数组记录字母出现的次数, 阅读全文
posted @ 2017-03-03 17:36 小小范同学 阅读(5191) 评论(0) 推荐(0)
摘要:素数这个概念不用强调了吧;直接上代码吧 阅读全文
posted @ 2017-03-03 16:51 小小范同学 阅读(394) 评论(0) 推荐(0)
摘要:【原创】 两个数a,b,求二者的最大公约数,传统朴素的想法大家肯定都懂,不多说,这里有一种算法叫欧几里得算法,思想:若a,b同时为0,那么最大公约数不存在,若,一个为0,那么最大公约数为另外一个不为0 的数,若a,b都不为0,则使新的a=b,新的b =a%b,然后重复使得b=0,此时的a为所求,至于 阅读全文
posted @ 2017-03-03 16:00 小小范同学 阅读(229) 评论(0) 推荐(0)
摘要:原创: 之前有发一篇进制转换的文章,转换思想在里面,这里不再重复,详情请查看:http://www.cnblogs.com/numen-fan/p/6495009.html 代码: //任何进制的转换 void test3(){ //输入格式,a,n,b;将a进制的n转为b; int a,b; ch 阅读全文
posted @ 2017-03-03 11:34 小小范同学 阅读(2901) 评论(0) 推荐(0)
摘要:【原创】 今天来说说进制转换,经常熟悉的进制无外乎就是2,8,10,16,那么这些进制之间如何转换呢,我们比较熟悉的转换便是10进制和其他进制数之间的转换,那么我们以10进制为媒介,进行相应的转换,举个例子,将8进制x转为2进制,我只需要将x先转为10进制y,然后再10进制y转为2进制z,如下面的例 阅读全文
posted @ 2017-03-03 10:30 小小范同学 阅读(637) 评论(1) 推荐(0)
摘要:今天做二叉树的时候,发现利用结构体有点乱,不知道怎么回事,我之前知道c语言中声明一个结构体变量时需要通过 struct 结构体名 变量名,而在c++中,可以不要struct,由于可以利用typedef嘛,但是在c++中,不能在结构体后面声明结构体数组,见如下代码; 在这个代码中,不能利用后面的T[1 阅读全文
posted @ 2017-03-02 16:10 小小范同学 阅读(9691) 评论(0) 推荐(0)