关闭

C++ 输入输出运算符重载 感想

在C++中,经常会对输入输出运算符进行重载,而在重载的时候用到了友元(Friends)和引用返回(Returning References),这里对为什么会这么用发表一些思考。 比如,下面的类是一个简单的Student类,其中重载了<>。// // Created by lgl on 17-3-14. // #include #include #inc...
阅读(385) 评论(0)

linux小记:makefile(随使用程度持续更新)

格式 生成多个可执行程序 PHONY[我的笔记,仅限自己看懂=.=,也会随着我对makefile的需要程度和认知程度乱序更新]格式makefile的格式:target : prerequisites   command  //任意的shell 命令注意这个command可以是任意的shell命令。也就是说,如果clean: echo "I love you"当你在命令行中make clea...
阅读(210) 评论(0)

RMS's gdb Debugger Tutorial

How do I use gdb 1 How do I compile with debugging symbols 2 How do I run programs with the debugger 3 How do I restart a program running in the debugger 4 How do I exit the debugger 5 How do I get hel...
阅读(684) 评论(0)

康托展开 全排列

今天找到了一篇非常好的介绍康托展开的文章!!! http://www.cnblogs.com/1-2-3/archive/2011/04/25/generate-permutation-part2.html根据这篇文章,写出生成按序排列的全排列非常的简单:#include #include #include #define N 4using...
阅读(202) 评论(0)

C++使用stringstream进行数据类型转换

(参阅:http://www.cppblog.com/sandywin/archive/2007/07/13/27984.html) 在写程序的过程中,我们经常需要进行数据类型的转换,也经常搞混。但是如果使用stringstream的话,就在也不用担心了。sstreamstringstream在头文件中,库定义了三种类:istringstream、ostring...
阅读(261) 评论(0)

return临时变量的问题

1. return临时变量问题#include int a,i; int fun() { int b=1,c=2; a=b+c; return a; } i=fun()想问下,是a赋值给i,还是a的临时副本赋值给i?我试过了,会产生临时副本的。兄弟们,我的意思是问,既然a是全局变量了,又不会消失,怎么还会产生临时副本。如果a是局部变量 ,还好理解,因为a出了函数的作用域就会消失,所...
阅读(415) 评论(0)

qsort对多维数组和结构体的排序

多维数组对于malloc动态申请的多维数组(指针数组)以一个例子解析: 要求—— 打算操作一个数组,数组的每个元素是一个指针,指向2个元素的数组。元素的大小关系为先比较第一个元素,第一个元素相同比较第二个元素。 首先,通过malloc对指针数组进行分配: 先分配一个指向元素为int *的一维数组,所以数组类型为int **; 然后,针对每一个数组里的int *型指针,分配一个一维数组,数组类型...
阅读(1753) 评论(0)

STL之list

list中的函数代码事例如下: #include #include using namespace std; typedef list INTLIST; //从前向后显示list队列的全部元素 void put_list(INTLIST list, char *name) { INTLIST::iterator plist; cout << "The content...
阅读(410) 评论(0)

printf的%*s

近日参加蓝桥杯,有一道关于%×s的填空题把我坑死了,回来特地查了查,发现百度在介绍printf函数的时候竟然举了这个栗子!!! 具体是这样用的—— #include #include int main(void) { char ch[20]; int m,n; strcpy(ch,"Happy!"); scanf("%d%d", &m, &n); pr...
阅读(532) 评论(0)

二维数组 指针数组

#include using namespace std; int main() { int v[2][10]={{1,2,3,4,5,6,7,8,9,10},{11,12,13,14,15,16,17,18,19,20}}; int (*a)[10]=v; //数组指针,指向数组(大小为10)的指针 cout<<size...
阅读(377) 评论(0)

区间第K大数

问题描述 给定一个序列,每次询问序列中第 l 个数到第 r 个数中第 K 大的数是哪个。 输入格式 第一行包含一个数 n,表示序列长度。 第二行包含 n 个正整数,表示给定的序列。 第三个包含一个正整数 m,表示询问个数。 接下来 m 行,每行三个数 l,r,K,表示询问序列从左往右第 l 个数到第 r 个数中,从大 往小第 K 大的数是哪个。序列元素从 1 开始标号。 输出格式 ...
阅读(551) 评论(0)

C语言 gets() '\n'

C语言gets()函数是否读取'\n'? gets()函数的功能是读取一串字符(读的时候小心溢出),在字符串读入完毕后,末尾输入的'\n'也会被读到,且被读为'\0'。 代码验证如下—— 一开始,我们将char型数组a全部初始化为'1',之后输入“1234567回车”,通过调试窗口我们可以看到a[0]~a[6]分别为1234567,而a[7]由刚开始的'1'变成了000,即'\0',...
阅读(480) 评论(0)

最短路径:BellmanFord / SPFA / Dijkstra

SPFA是对Bellman-Ford的一种优化,其核心思路就是: 不必一直不停地松弛下去,如果当前节点A被松弛了(也就是说当前节点到Source Point的距离变小了),那么A的邻接点B(有可能B通过A得到到达Source Point的最短路径)就需要重新松弛一下:如果B经由A到达Source Point为最短路径,那么B一定会被松弛,否则B不会被松弛。 所以,我们需要构建一个队列,当A被松弛之后,所有A的邻接点都要被重新检测一下,看看需不需要被松弛。于是所有A的邻接点入队。之后再从队列中取出一个节点,进...
阅读(756) 评论(0)

memset

首先,memset是一个比较*疼的东西,主要原因是它当初被设计出来主要是...
阅读(677) 评论(0)

最小生成树(MST):Prim / Kruskal

* 假设T1集合是已加入最小生成树中的点,T2集合是剩下的待加入T2的点 * 我们要做的是把T2集合中离T1最近的那个点,加入T1 * 所以我们需要知道: * 集合T2内各顶点到集合T1的距离 * * 为此,我们用两个数组: * lowcost[i]:用来表示T2中点i到T1的距离; * nearvex[i]:用来表示T2中点i和T1中哪个点最近(为了输出加入时的路径) * nearvex还有一个作用,就是当nearvex[i] = -1时,代表i加入了T1集合 * 实际上如果只是要计算...
阅读(944) 评论(0)
17条 共2页1 2 下一页 尾页
    个人资料
    • 访问:76560次
    • 积分:1493
    • 等级:
    • 排名:千里之外
    • 原创:69篇
    • 转载:6篇
    • 译文:0篇
    • 评论:6条
    最新评论