- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 布隆过滤器
#pragma once #include <stdio.h>#include<stdlib.h>#include<assert.h>#include"bitmap.h"#define HashFuncMaxSize 2#define BitmapMaxSize 1024 typedef uint64_t (*HashFunc)(const char*);typ...
2018-06-05 11:43:11
118
原创 开放地址发处理哈希冲突
#pragma once #include<stdio.h>#include<stdlib.h>#include<string.h>#define TEST printf("\n=========%s=========\n",__FUNCTION__);#define HashMaxSize 1024typedef int keyType;typedef i...
2018-05-31 21:01:21
268
原创 二叉树的递归版实现
tree.h#pragma once#include<stdlib.h>#include<stddef.h>#include<string.h>#define TEST_HEAND printf("========%s=========\n",__FUNCTION__);typedef char TreeNodeType;typedef char SeqQu...
2018-05-20 17:42:43
151
原创 非递归版的搜索二叉树
#include"searchtree1.h"void SearchTreeInit(SearchTreeNode** pRoot){ if (pRoot == NULL) { return; } *pRoot = NULL; return;}SearchTreeNode* CreatSearchNode(SearchTreeType value){ SearchTreeNode* new_no...
2018-05-19 11:51:56
103
原创 搜索二叉树的递归实现
#pragma once #include<stdio.h>#include<stdlib.h>typedef char SearchTreeType;typedef struct SearchTreeNode { SearchTreeType data ; struct SearchTreeNode* lchild; struct SearchTreeNode* rch...
2018-05-17 21:55:53
157
原创 堆的基本操作
#include"Heapp.h"#include<string.h>int Less(HeapType a, HeapType b){ return a < b ? 1 : 0;}int Greater(HeapType a, HeapType b){ return a > b ? 1 : 0;}void HeapInit(Heap* heap, Compare cm...
2018-05-16 13:21:56
135
原创 编辑器与编译器
程序编辑器编辑AptanaAptana是一个非常强大,开源,JavaScript-focused的AJAX开发IDE。Aptana是一个基于Eclipse的集成开发环境,其最广为人知的是它非常强悍的JavaScript编辑器和调试器。去年Aptana吸收了Radrails项目,添加了非常强大的Ruby on Rails支持。但是Aptana前进的脚步并未停止。随着苹果公司iPhone手机的发布,A...
2018-05-08 14:38:55
301
原创 进入目录的条件
我们发现在超级用户root下,没有任何权限我们也可以进入该目录 。在普通目录下,我们给dir1这个目录加上可读权限chmod 400 dir1,在进入dir 加上可读权限之后我们进入dir1,发现还是权限不够。 当我们给dir1赋予可写的权限时,进入dir1 在可写权限下仍然无法进去该目录:权限不够 下面我们赋予dir1目录可执行权限,在进入该目录我们发现,只给目录dir1赋予可执行权限时,该目录...
2018-05-08 14:26:22
158
原创 栈的插入删除
#include<stdio.h>#include<stdlib.h>#define SeqstackMaxse 1000#define TESTER_HAND printf("\n=====%s======\n",__FUNCTION__);typedef char SeqstackType;typedef struct Seqstack{ SeqstackType* ...
2018-05-07 15:21:14
1079
原创 队列
#include"queue.h"void SeqQueueInit(SeqQueue* queue){ if (queue == NULL){ //非法输入 return; } queue->data = (SeqQueueType*)malloc(sizeof(SeqQueueType)*SeqQueueMaxse); queue->capacity = SeqQueueMax...
2018-05-06 22:17:51
147
原创 初学c++
标识符:在c++中,变量、常量、函数、标签和用户自定义的各种对象。标识符由一个或多个字符组成,字符可以是字母,也可以是数字,下划线,但是标识符的首字母必须是字母或下划线开头的。关键字是c++内置的有特殊意义的标识符,用户不能定义与关键字相同的标识符。常量:其值在运行时不能改变,但是在定义常量是可以设置初始值。eg: const int MAX_VALUE=100;对于常量编译器将他放在一个只读的内...
2018-05-05 11:14:39
85
原创 单链表的插入删除查找
#include"seqlist.h"pLinkList CrtatNode(){ pLinkList node = (pLinkList) malloc(sizeof(pLinkList)); node->next = NULL; return node;} void DestroyNode(pLinkList node){ free(node);} void InitNode(pLink...
2018-05-05 10:34:26
176
原创 带头节点的双向列表
双向列表都有一个前驱和一个后继,添加或者删除节点可以使用双向列表的这一个特性去做。.h#pragma once //防止头文件重复定义#include<stdio.h>#include<stdlib.h> #include<stddef.h>typedef char DLinktype; typedef struct DLinkNode { DLinktype ...
2018-04-30 21:03:44
117
原创 进程间关系与守护进程
进程组:一个进程除了有一个进程id之外,他还属于一个进程组。进程组是一个或者多个进程的集合。通常他们与同一个作业相关联,可以接受来自同一个终端的各种信号。每个进程组有一个唯一的进程组id。每个进程都有一个组长进程,其进程组的id等于其自己的进程id。组长进程可以创建一个进程组,创建各组中进程,然后终止。组长进程终止后,只要进程里面有成员,进程组就存在。与组长进程是否终止没有关系。例子:一个班有四十...
2018-04-30 20:56:56
65
原创 二叉树的遍历
.c#include<stdio.h>#include"bin_tree.h"#include<stdlib.h>void TreeInit(TreeNode** pRoot){ if (pRoot == NULL){ return; } *pRoot = NULL;}TreeNode* CreatTreeNode(TreeNodeType value){ TreeNod...
2018-04-24 21:31:28
82
原创 队列
1.只允许在一端进行插入操作,在另外一端进行删除操作的特殊线性表。2.进行插入操作的一端称为队尾。3.进行删除操作的一端称为对头。4.队列具有先进先出的特性。5.head和tail重合,表示队列满或者空队列。因此规定当tali在head之前的一个位置就说满了,或者去定义size去判断是否为空。...
2018-04-07 11:01:51
79
原创 栈
1.如果进程结束,内存就被操作系统吸收了‘2.如果是内核发生泄露,重启大法。3.malloc 但是没有free,可能不是内存泄露,即使不是因为malloc没有free也可能出现内存泄露。4.如果来测试一个程序是否出现内存泄露问题:智能指针、内存池、GC(垃圾回收)。5.栈的特性:先进后出的特殊线性表。6.栈功能:将数据从一种序列变为另一种序列。7.顺序栈的时间复杂度为O(1)。#pragma on...
2018-04-07 10:54:42
111
转载 贪吃蛇
#include <stdio.h>#include <stdlib.h>#include <windows.h>#define FOOD "□"void SetPos(int x, int y){ HANDLE hOutput = NULL; COORD pos; pos.X = x; pos.Y = y; hOutput = GetStdHandle(STD...
2018-03-04 12:26:17
177
原创 linux 的一些指令
lspwd 显示用户当前所在的目录cd 将当前工作目录改变到指定目录下touch 建一个文件rmmkdir 创建目录rmdir 删除目录或者文件man cp src destctrl + l 清屏 <==> clearsu - username 切换账户到username退出账户 exit 0cat [file]如果file,输入来自键盘文件,将结果写到显示器文件ctrl +...
2018-03-04 12:22:24
108
原创 将一字符串向左移动k位
在这个代码里首先要做的就是定义一个i,之后呢将字符串的长度定义出来。此时将i从0到字符串长度减1,将字符串的第一个数字付给tmp,此时tmp里面保存的就是字符串的第一个字母。然后通过j将剩下的左移一位,现在最后一位附上tmp的值,经过一次i,就会使得字符串整体左移一位,当i从一到n时,字符串就相应的左移多少位。#include#include#include#includevo
2017-12-06 19:14:22
751
原创 三字棋的实现
game.h#ifndef __GAME__H__ #define __GAME_H__ #include"time.h" #include"stdlib.h" #include"string.h" #include"stdio.h" #define ROWS 3 #define COLS 3 void init_board(char arr[R
2017-12-06 18:53:35
418
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人