摘要: 一些概念: 一棵树是一些结点的集合。这个集合可以是空集,若不是空集,则树由称作根(root)的结点r以及零个或多个非空的(子)树T1,T2...Ta组成,子树中每一个棵的根都被来自根r的一条有向的边(edge)所连接。 每一棵子树的根叫做根r的儿子(child),而r是每一棵子树的根的父亲(pa... 阅读全文
posted @ 2017-01-09 19:16 肥宝游戏 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 队列Queue是先进进出FIFO和后进后出LILO的。 只能从队尾放入数据,从对头删除数据。 跟Stack一样,我也写了两个版本,但是跟Stack还是有所不同的。 用List实现的队列,是没有大小限制的, 用Vector实现的队列,是有大小限制的,其实更加复制,很多地方要注意的。使用循环列表的方... 阅读全文
posted @ 2017-01-09 11:50 肥宝游戏 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 栈的主要特点是LIFO,后进先出。 只能访问栈顶。 可以使用数组或者链表来实现。 所以写了两个版本的实现。 其实,从代码的角度看,直接使用List是最简单的,但是从效率的角度看,使用vector更加高效一点。 对于List和Vector,都是使用自己实现的简单模板。Vector模板的实现 Lis... 阅读全文
posted @ 2017-01-08 23:39 肥宝游戏 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 跟Vector一样,我自己也写了一个简单的List来进行研究。 这里实现的是双向链表,因为双向链表包含了单向链表的所以功能,所以就没有单独写一个了。 这个双向链表的实现,在创建的时候,就已经有了两个节点,分别是head和tail。这是抽离出来,不存放数据的节点,是为了让程序简化,被称为哨兵节点。... 阅读全文
posted @ 2017-01-08 19:16 肥宝游戏 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 问题: 今天研究数据结构,按着书敲代码,发现子类中直接调用父类成员居然无法通过编译。 看了好久都没发现问题,尝试将父类private属性改为public,发现也是不行。 解决办法: 然后我想着用域作用符,居然可以。 在网上搜了一下,发现用this指针,也是可以解决这个问题的。 //// Lis... 阅读全文
posted @ 2017-01-08 08:53 肥宝游戏 阅读(462) 评论(0) 推荐(0) 编辑
摘要: Vector是比较常用的结构,在C++的STL中就有了vector的实现,在头文件中可以看到。 但是STL的实现就像一个超级大的蛋糕,我们不可能一口一口地吃下去。最好的办法是从基础的思想开始,自己跟着写一个简单版本的Vector。 vector究竟是什么? 其实本质上就是数组,只是经过封装后,可... 阅读全文
posted @ 2017-01-07 21:02 肥宝游戏 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 本来是写在《C++ primer plus》总结里面的,但是想想又觉得那个是知识性总结,于是把这些内容抽出来了。 感悟: 一开始的时候,只是想补充一下基础,因为确实没有系统地学过C++的东西,很多细节都不清楚。 但是随着学习,发现很多地方,跟其他语言都是想通的,就连之前一直觉得其他语言有的,... 阅读全文
posted @ 2017-01-06 11:29 肥宝游戏 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 总结: 我是总结完下面的列表,才再回来写总结的,现在看来,这本书的排版还是不错的,由浅入深,很有规律。 其实,一开始我是想看《C++ primer》的,看的是电子版,同学发给我的。结果看了几章后发现是山寨的。 不过最后还是看完了。我没有看过多少其他的C++的书。不知道这本书好不好。 但是作为一个... 阅读全文
posted @ 2017-01-06 11:25 肥宝游戏 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 非修改性序列操作 all_of() 如果所有元素的谓词测试都为true,则返回true,C++11 any_of() 只要有一个谓词测试为true,返回true,C++11 none_of() 如果所有测试都为false,则返回false,C++11 for_each(... 阅读全文
posted @ 2017-01-05 23:51 肥宝游戏 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 18.12 编程练习 1.下面是一个简短程序的一部分: int main(int argc, char* argv[]){ auto q = average_list({ 15.4, 10.7, 9.0 }); cout ({ 'A', 70, 65.33 }); cout #includ... 阅读全文
posted @ 2017-01-05 17:19 肥宝游戏 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 18.11 复习题 1.使用大括号括起的初始化列表语法重写下述代码。重写后的代码不应使用数组ar: class Z200{private: int j; char ch; double z;public: Z200(int jv, char chv, double zv) : j(jv), ch... 阅读全文
posted @ 2017-01-05 15:52 肥宝游戏 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 本章主要讲: 移动语义和右值引用 Lambda表达式 包装器模板function 可变参数模板 1.C++11新类型 long long unsigned long long char16_t char32_t 2.扩大初始化列表的适用范围 3.声明 auto 自动类型识别 decl... 阅读全文
posted @ 2017-01-05 14:40 肥宝游戏 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 重点:文件读写,二进制文件读写, 题目好长,分多一张 6.考虑14章的编程练习5中的类定义。如果还没有完成这个练习,请现在就做,然后完成下面的任务。 编写一个程序,它使用标准C++I/O、文件I/O以及14章的变成练习5中定义的employee、manager、fink和highfink类型... 阅读全文
posted @ 2017-01-05 00:25 肥宝游戏 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 17.8 编程练习 1.编写一个程序计算输入流中第一个$之前的字符数目,并将$留在输入流中。 // // main.cpp // HelloWorld // // Created by feiyin001 on 16/12/30. // Copyright (c) 2016年 ... 阅读全文
posted @ 2017-01-04 17:03 肥宝游戏 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 17.7复习题 1.iostream文件在C++I/O中扮演何种角色? iostream定义了用于管理输入和输出的类、常量和操作符,这些对象管理用于处理I/O的流和缓冲区。 该文件还创建了一些标准对象(cin、cout、cerr和clog以及对应的宽字符对象),用于处理与每个程序相连的标准输... 阅读全文
posted @ 2017-01-04 15:17 肥宝游戏 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 要点:输入流 1.流状态 ---------------------------------------------------------------------------------------------------------------------------------------... 阅读全文
posted @ 2017-01-04 11:31 肥宝游戏 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1.流充当了程序和流源和流目标之间的桥梁。 C++只检查字节流,而不需知道字节来自何方。 C++没有将输入输出建立在语言中,而是让编译器实现的。 2.使用缓冲区可以更高效地处理输入和输出。 3.streambuf类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区内容、刷新缓冲区和管... 阅读全文
posted @ 2017-01-03 19:14 肥宝游戏 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 16.10 编程练习 6.使用STL queue模板类而不是第12章的Queue类,重新编写程序清单12.12所示的示例。 程序清单12.12: Test.h // // Test.h // HelloWorld // // Created by feiyin001 on 16/1... 阅读全文
posted @ 2017-01-03 11:52 肥宝游戏 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 16.10 编程练习 1.回文指的是顺着读和逆着读都一样的字符串。假如,“tot"和“otto”都是简短的回文。编写一个程序,让用户输入字符串,并将字符串引用传递给一个bool函数。如果字符串是回文,该函数将返回true,否则返回false。此时,不要担心诸如大小写、空格和标点符号这些复杂的问题... 阅读全文
posted @ 2017-01-02 23:11 肥宝游戏 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1.考虑下面的类声明: class RQ1 { private: char* st; public: RQ1() { st = new char[1]; strcpy(st, "")... 阅读全文
posted @ 2017-01-02 15:55 肥宝游戏 阅读(272) 评论(0) 推荐(0) 编辑