C/C++
文章平均质量分 75
LanceLeng
这个作者很懒,什么都没留下…
展开
-
C、C++数组初始化,数组赋值
原文发于:http://qing.weibo.com/2059598087/7ac2f907330029ze.html在C/C++中,可以在数组定义的时候对其进行初始化:int a1[3] = {1, 2, 3};int a2[3] = {0}; //将数组a2各个元素赋值为0。int a3[] = {1, 2, 3};char s1原创 2013-03-22 19:11:58 · 87263 阅读 · 1 评论 -
链表逆序总结
所谓链表逆序,是把诸如 1->2->3->4->null 的链表变换为 4->3->2-1->null。假设链表节点定义如下:struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};解法一:新建临时节点tmp_head,遍历原始链表,将原始链原创 2013-10-23 11:04:05 · 810 阅读 · 0 评论 -
VC编译器下如何解决error C2679、error C2676、error C2784、fatal error C1903错误
最近编写了一小段程序,在GNU编译器下能编译通过,但在VC编译器下却显示一大堆错误。查看编译信息,其中错误提示如下:error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class std::basic_string,class std::allocator >' (or原创 2013-09-13 22:29:35 · 6289 阅读 · 0 评论 -
面试题:链表环的检测(Floyd判圈算法)
本文最初发于:http://03071344.lofter.com/post/10871e_29fdd8PS:本文介绍的,既是Floyd判圈算法,可搜索该关键字查找其它资源去年听师兄讲了一道链表环的问题,给出的解法是:用两个指针p1、p2,它们初试都指向链表头,然后开始向后移动。指针p1每次移动一步,p2则每次移动两步。如果在移动过程中p2到达链表末端了,表明该链表无环。如果在移动原创 2013-03-22 16:52:13 · 3331 阅读 · 0 评论 -
Linux和Windows对"\r\n"的不同处理
有关于'\r'与’\n‘的来源,网上有相关的资料。我在fgets/gets/scanf函数读入字符串比较中也有提到。简而言之,在Linux环境下,换行是"\n";而在Windows下,换行是"\r\n"。在编写程序的时候,通常可以使用freopen函数将程序输入流重定向为文件。于是问题就来了,假如一个文件(test.txt)包含如下字符串:“ustc\rchina\r\n”注:其中\r和\原创 2013-04-20 20:55:21 · 1987 阅读 · 0 评论 -
fgets、gets、scanf函数读入字符串比较
首先,说说这个函数的使用方法。代码如下:char str[10];fgets(str, 10, stdin);//stdin表示从输入流中读入,也可以是其他文件指针。gets(str);scanf("%s", str);其中fgets函数是安全的,gets和scanf函数都是不安全的。当输入的字符大于等于10时,会数组越界。编译不会保存,甚至运行时也不会保存。但极可能因为对str数组原创 2013-03-28 11:25:57 · 10075 阅读 · 4 评论 -
scanf函数详解
关于scanf函数的使用,网上有很多相关内容。以下是其中不错的两篇。scanf详解:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=305688&ordertype=1 (已转贴于本文后)scanf()函数使用详解:http://blog.csdn.net/zhaoxiatengkong_1/article/details/752原创 2013-03-28 11:51:11 · 1510 阅读 · 0 评论 -
C/C++变量的分类,static的用法
在C/C++中,常常有全局变量,局部变量,临时变量,静态变量等等说法。同时也有static修饰符的不同用法。这往往会对初学编程的人带来困扰。其实在这些说法当中,有些概念虽然叫法不同,但意思却有相互的包含关系。而有一些概念,又暗含了另一些变量属性。这里,我将从“生存期”和“作用域”两个维度对变量进行分类。如下:按作用域分:全局变量 VS 局部变量按生存期分:静态变量 VS 自动变量全原创 2013-03-27 16:11:05 · 1131 阅读 · 0 评论 -
C++使用带默认参数的构造函数
原文发于:http://qing.weibo.com/2059598087/7ac2f90733002bwr.html一般来说,我们需要向对象的构造函数传入参数,并以此对内部状态进行设置。在C++中,对象的声明同时也意味着调用默认构造函数,亦即不带任何参数的构造函数。同时即便我们显示的调用对象的构造函数(通过new调用),在很多时候也希望使用一些默认参数。下面是带默认参数的构造函数的完整写原创 2013-03-22 19:25:26 · 1870 阅读 · 0 评论 -
[Leetcode][Rotate Array]一种对连续内存空间进行的循环移位的巧妙解法(O(1)的空间、O(n)的时间)
本文最初发表:http://03071344.lofter.com/post/10871e_2c4556本文讨论如何对一段连续的内存空间(如int型数组、char型数组)的内容进行循环移动。例如我们有一个数组,定义如下:int num[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};现要对num数组的内容循环移动4位。解法一我们可以申请4个连续的int变量原创 2013-03-22 16:57:23 · 3110 阅读 · 0 评论