- 博客(19)
- 资源 (13)
- 收藏
- 关注
原创 C++ primer笔记 第三章字符串、向量和数组
1.类型别名简化多维数组#include<iostream>#include<string>#include<cctype>#include<vector>using namespace std;typedef int arr_4[4];int main(){ vector<string> ivec {"1", "2"}; for (size_t i = 0; i < ivec.size(); i++)
2021-09-06 22:01:17
157
原创 C++ primer笔记 第二章 变量和基本类型
时隔4年,再次拾起C++ primer, 温习一下C++ 编程。下述笔记用于记录一些书上提到的易错点,小技巧。第二章 变量和基本类型
2021-09-05 16:06:33
176
原创 Makefile中添加c++11标准
objects = test1.oCFLAGS = -Werror '-std=c++11'%.o : %.cpp g++ ${CFLAGS} -c -o test1.o test1.cpp test1:${objects} g++ ${CFLAGS} -o test1 test1.o.PHONY : cleanclean: rm *.o 或者g++ -std=c++11 -c -o test1.o test1.cppg++ -std=c++11 -o test1 tes
2021-09-05 15:47:34
1627
原创 const 常量指针和常量的指针
#include <iostream>using namespace std;typedef int * i_p;int main(){ int i = 9; const i_p p_a = &i; *p_a = 123; const int * p_b = &i; *p_b = 123; return 0;}编译结果```cppg++ -c -o test1.o test1.cpptest1.cpp: In function
2021-09-05 15:30:05
124
转载 gcc 指定动态连接路编译时路径和运行时路径义目录标题)
gcc 指定动态连接路编译时路径和运行时路径义目录标题)gcc -L选项在链接时指定动态库路径,编译通过,但是执行时会找不到路径;gcc -Wl -rpath选项在运行时指定路径,运行时按照指定路径寻找动态库;也就是说处理动态链接库时有2个路径:链接时路径和运行时路径,2个路径是分开的;如:$(CC) -o $@ $^ -L/home/db2 -lfinger_client -Wl,-rpath=/home/db2下面是别人测试的结果:动态库的搜索路径搜索的先后顺序是:编译目标代码时指定的动
2021-07-19 08:51:32
456
转载 单例模式
转自:http://blog.youkuaiyun.com/jason0539 概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而
2017-03-28 16:31:31
252
原创 无向图的深度优先生成森
对于无向图,从任意一个顶点出发,根据深度优先遍历,可以得到一个连通分量。对于非连通图,每一次从一个未访问的顶点出发,可以得到多个连通分量。将这些通过深度优先遍历求得连通分量构成一棵棵生成树,并以兄弟孩子链表,将这些生成树以森林的形式存储。 将这个森林(二叉树)进行先序遍历,得到的结果和深度优先遍历的结果一致!
2016-09-05 20:09:00
2054
原创 有向图的十字链表表示
本文主要讨论有向图的十字链表表示,包括建图,添加弧,删除弧,以邻接表的格式打印图(其中包括两种形式:1,同尾的弧构成条链 2,同头的弧构成条链)c ++ 描述。参考《数据结构 c语言版》清华大学出版社
2016-09-03 14:29:32
5676
原创 平衡二叉树(AVL)(一)
平衡二叉搜索树是具有某些特殊性质的二叉搜索树,对于每一个节点 p , 它的左右子树的高度相差不超过 1。将二叉排序树维持在平衡状态。因此查找,删除,插入的操作的时间复杂度维持在O(log2n)O(log_2n). 查找元素,遍历,找最大最小值,求树的高度,这些基本操作和普通的二叉搜索树几乎一样,直接借用二叉搜索树的成员函数,具体实现何以参见 二叉搜索树 对其进行插入元素时,首先按照普通的二叉搜
2016-08-08 13:43:38
430
原创 二叉搜索树
本文主要讨论二叉搜索树的基本性质以及基本操作,并用C++代码实现,每个成员操作以成员函数的形式出现,并附有适当的说明。包括:普通二叉树的遍历(先序,中序,后序,分层),二叉搜索树的建立,插值,删值,求前驱,求后继,求size,求最大节点,最小节点 。
2016-07-30 14:51:54
434
原创 经典排序算法3:堆排序
本文根据算法导论第6章,介绍最大堆的操作。包括:构建最大堆,维护最大堆,堆排序,以及对在优先队列中的应用。对最大优先队列执行以下操作:向队列中插入新元素,增加某个元素的值,去掉并返回队列中的最大值并保证最大队的性质。
2016-07-23 19:15:40
343
原创 经典排序算法2:归并排序
本文主要介绍归并排序的基本原理,基于递归调用,一步一步分析,结合流程图和文字,给读者清晰地解释。另外给出伪代码,和C++核心代码。并和插入排序相比较,最后结合插入排序,介绍一种升级的归并排序。
2016-07-18 09:45:06
5216
原创 文件读取和写入
从txt 中读取数据 在测试过程中,为了避免每次手动输入数据,可以将固定的数据存储在txt文件中,每次执行文件时只需从文件中读入固定的数据就行了。 如果每一个数据本身不含空格,则相邻两个数据之间以若干个空格或者若干行隔开,通过不同的数据类型存入对应的变量中。 下面举例说明: 1.1. 读取一个数组#include <iostream>#include<fstream>#include
2016-07-12 20:38:37
737
二叉搜索树C++代码
2016-07-30
堆排序与优先队列
2016-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人