
C++
持成
开发中的菜鸟,菜鸟中得战斗机,为了菜鸟的荣耀,万胜!!!
https://github.com/ccovers
展开
-
面试遇到的指针问题
1、如何将数组指针传入另一个函数,并修改其内容?对于一个二维数组 int arry[3][3]最开始设想的是将数组的指针的地址作为参数传入,但是编译不通过,提示类型不能从int (*)[3][3]转换为int **纠结好久最终找到正确的参数类型,必须传入[]符号以及指向一维数组的长度,告诉编译器具体类型,如下void GetValue(int arry[][3], int length){ f...原创 2016-10-22 14:14:06 · 325 阅读 · 0 评论 -
++i和i++都是线程不安全
++i和i++的自加过程:1、i++1)将i值取出放到寄存器2)将寄存器中的值返回3)寄存器中的值加14)使用寄存器值修改i的值 2、++i1)将i值取出放到寄存器2)寄存器中的值加13)将寄存器中的值返回并修改i的值 测试代码如下: #include <stdio.h>#include <pthread.h>#...原创 2017-10-18 17:26:50 · 651 阅读 · 0 评论 -
C++函数调用 段错误
调用一个函数时发生段错误:Segmentation fault加入打印日志之后,发现运行时根本没有进入该函数就已经crash,将该函数全部注释掉在运行时又一切正常。经过调试发现原因:该函数中存在一个大数组#define BUFFER_SIZE (1024 * 1024)char buffer[BUFFER_SIZE];将BUFFER_SIZE改为(4 * 1024)之后程序运行正常。分析结果:函数...原创 2018-03-15 15:40:50 · 3962 阅读 · 0 评论 -
动态链接库 error while loading shared libraries
makefile编译时编译正常使用-L将/home/hduser/hadoop/lib/native目录作为第一个寻找库文件的目录,并用-lhdfs寻找libhdfs.so动态库文件但是运行时提示无法打开共享库:检查原因:之前的第三方库一直是编译安装在/lib或/usr/lib中,而这个目录是已经添加在共享库目录中了的,因此链接时不存在问题。而此次,未将动态库放入/lib或/usr/lib中,程序...原创 2018-03-20 11:37:42 · 2280 阅读 · 0 评论 -
八皇后问题
八皇后问题:如何能够在8×8的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?任两个皇后都不能处于同一条横行、纵行或斜线上。(八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当n = 1或n ≥ 4时问题有解。)解题思路:(棋盘大小为8行8列,根据规则每行每列最多只能摆放一个)1、循环遍历一行当中的每一个元素,符合条件的保存到数...原创 2018-04-11 16:11:39 · 222 阅读 · 0 评论 -
位图排序
什么是位图(BitMap):所谓的BitMap就是用一个bit位来表示某些元素是否存在。位图适用于快速查找、判重、排序(数据不能有重复)。假设一个例子,我们要对0-7内的5个元素(5、4、7、0、3)排序(假设元素没有重复)。1、要表示0-7的8个元素,需要8个bit(1Byte);2、开辟一个1Byte的空间,依次遍历这5个元素;首先第一个元素是5,那么就把5对应的位置置为1(bit_map[5...原创 2018-04-12 11:18:28 · 176 阅读 · 0 评论 -
二分排序法
二分排序:遍历数组元素,将小于当前值的元素移到左边,将大于当前值的元素移到右边;然后分别递归左边、右边继续排序。假设一个数组为{3,2,5,0,4}使用如下代码进行排序:#include <stdio.h>#include <stdlib.h>#include <string.h>#define ARRAY_SIZE 10void print(int...原创 2018-04-12 14:08:53 · 635 阅读 · 0 评论 -
求单向链表倒数第K个元素
typedef struct NodeList { int value; struct NodeList *next;}NodeList;有如上节点类型的单向链表,求链表的倒数第K个节点。(1)递归NodeList* find_node(NodeList *node, int K){ //记录倒数第几个节点 static int index = 0; NodeList *tmp = ...原创 2018-05-11 15:06:29 · 250 阅读 · 0 评论