自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FreeeLinux's blog

没有迷路的人

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 Linux网络编程之多进程模型编程与一个使用进程池实现的CGI服务器

一:什么是多进程模型多进程模型是服务器在接收到大量高并发客户端访问时,通过创建多个子进程来与客户端进行通信。单进程阻塞在read()系统调用的时候,会导致服务器无法响应到其他的连接请求。这时可以通过fork()函数创建出多个子进程来处理业务,而主进程继续循环accept()其他客户连接,子进程实施具体的通信细节。二:fork函数详解NAME       fork - create

2016-08-29 15:16:13 2143

原创 使用scanf初始化指针

无意间想到用scanf初始化指针,觉得挺有意思的,代码如下:#include int main(){ int num = 5; printf("%p ", &num); int *p = NULL; scanf("%p", &p); printf("%p\n", p); printf("%d\n", *p);

2016-08-25 10:58:18 3938

原创 顺序表的实现--C语言泛型编程

一:顺序表代码实现#ifndef _SEQ_LIST_H#define _SEQ_LIST_H#include #include #include #include #define ElemType float //以float类型测试算法通用性,而不是以惯用的int#define INIT_SIZE 10 //顺序表默认初始化大小

2016-08-21 20:48:20 1587

原创 图的拓扑排序、关键路径、最短路径算法 -- C++实现

一:拓扑排序对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。拓扑排序就是要找到入度为0的顶点,并依次压栈。首先将栈顶顶点输出,删除以此顶

2016-08-20 14:11:21 7773 1

原创 图的深度优先搜索和广度优先搜索算法、最小生成树两种算法 --C++实现

一:通用图结构#ifndef _GRAPH_H#define _GRAPH_H#include #include #include #include using namespace::std;#define MAX_COST 0x7FFFFFFF //花费无限大设为整型最大值///////////////////////////////////////////////

2016-08-18 22:10:31 3764 1

原创 无向图的邻接矩阵和邻接表实现各种操作 -- C++语言描述

一:实现代码#ifndef _GRAPH_H#define _GRAPH_H#include #include using namespace::std;/////////////////////////////////////////////////////////////////////////////////////////////通用图结构template

2016-08-16 19:00:27 6825 1

原创 AVL树插入删除算法详解(有图) -- C++语言实现

一:AVL树介绍AVL树本质上还是一棵二叉搜索树,它的特点是:1.本身首先是一棵二叉搜索树。2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。在本文中用分别用-1,0,1定义左边树高,等高,右边树高。平衡因子用m_bf表示。也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉排序树,二叉搜索树)。二:插入算法由于AVL树具有BST树的

2016-08-14 21:42:44 12193 4

原创 C++实现二叉排序树BSTree --插入删除摧毁查找等操作

一:二叉排序树定义二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。二叉排序树是这样一棵树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有键值相等的结点。二:删除算法(重点)

2016-08-11 18:02:02 2931

原创 Valgrind内存泄漏工具的安装与使用 -- Linux

由于对程序的严谨,为了防止写过的程序存在内存泄漏的现象,Valgrind内存泄漏检测工具就十分便捷了,可以很快速的检测出所写程序是否存在内存泄漏现象,这对于C/C++程序员显得尤为重要,因为不论你有多牛逼,也难以避免自己不会忘写一个delete或者free。一:安装步骤首先下载一个Valgrind安装包。1.解压安装包 zip格式用 uzip Valgrind.xx.zip,解压完成之

2016-08-11 13:18:04 1530

原创 C语言实现哈希表HashTable及迅雷面试题哈希表桶结构代码

本文利用除留取余法+链地址法实现哈希表,并针对迅雷面试题写出相关代码。一:哈希表哈希表代码如下:#ifndef _HASH_TABLE_H#define _HASH_TABLE_H#include #include #include #include #define ElemType int#define N 7typedef struct HashNode{

2016-08-10 19:56:33 2206

原创 C++实现堆、最大堆、最小堆 -- 堆排序插入删除操作

堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。最大堆和最小堆是二叉堆的两种形式。最大堆:根结点的键值是所有堆结点键值中最大者。最小堆:根结点的键值是所有堆结点键值中最小者。而最大-最小堆集结了最大堆和最小堆的优点,这也是其名字的由来。最大-最小堆是最大层和最小层交替出现的二叉树,即最大层结点的儿子属于最小层,最小层结点的儿

2016-08-09 15:10:36 8443

原创 字符串逆序输出与main函数的递归调用

昨天有人问问了我这样一道题,如何不利用第三方变量,将字符串逆序输出。我给出了几种方案,有非递归的,也有递归的。一:首先来非递归的,这个就比较简单了,直接利用strlen函数求得字符串长度,然后逆序输出即可。代码如下:#include #include void reverse_str(const char *str){ auto len = strlen(str); f

2016-08-06 20:20:34 2578

原创 C++森林转化为二叉树代码

#ifndef _TREE_H#define _TREE_H#include using namespace std;template class Tree;template class TreeNode{ friend class Tree;public: TreeNode() :m_data(T()), firstChild(NULL), nextSibling(NU

2016-08-06 14:30:19 6253 1

原创 C++实现线索二叉树 -- 创建遍历查找等操作

本文代码为C++实现线索二叉树,文中所有代码均经过测试。#ifndef _THREAD_BIN_TREE_H#define _THREAD_BIN_TREE_H#include #include #include using namespace::std;typedef enum{LINK, THREAD}Tag;templateclass _Thread_Bin_Tre

2016-08-04 20:23:20 966

原创 C++实现二叉树所有操作 -- 创建递归遍历迭代遍历拷贝清空查找

本文代码实现了二叉树输入流创建,字符串创建,带返回值的创建,前中后序递归及迭代遍历二叉树,拷贝二叉树,求大小,高度,查找元素,查找父节点,子节点,清空,比较等等二叉树所有操作。文中所有代码均经过测试。#ifndef _BIN_TREE_H#define _BIN_TREE_H#include #include #include #include #include using n

2016-08-04 20:19:25 996

muduo网络库

如果你用其他的编译不通过,就用这个吧。

2016-12-01

MySQL-python-1.2.5.win64-py2.7.exe

有效解决安装mysql-python时遇到的error: Unable to find vcvarsall.bat问题,以及 %1 win 32 问题

2016-09-20

valgrind-3.10.1

Linux内存泄漏检测工具

2016-08-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除