自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

timetimetime

mytime

  • 博客(56)
  • 收藏
  • 关注

原创 vs2012 正则

#pragma warning(disable : 4996)// std_tr1__regex__regex_replace.cpp // compile with: /EHsc #include  #include  #include #include#define FIND_CHAR "a"#define REPLACE_CHAR "A"#define F

2015-06-15 12:51:06 352

原创 我的代数充能01

2015-06-02 00:02:34 333

原创 简单的事件机制

#include#include#define ObjDef(class_name) \s_ClassName = #class_name; \v_id = this;class CObject;class CEvent;class CSendEvent;class CEventsManage;class CObject{public:

2014-11-16 00:19:16 376

原创 静态数码管

#include #include typedef unsigned char u8; //静态数码管高电平sbit a = P0^0;sbit b = P0^1;sbit c = P0^2;sbit d = P0^3;sbit e = P0^4;sbit f = P0^5;sbit g = P0^6;sbit dp = P0^7;void Slee

2014-04-01 15:00:59 446

原创 纯C读取24位图并且绘画在桌面

#include #include typedef struct{BYTE b;BYTE g;BYTE r;}RGB;int main( void ){BITMAPFILEHEADER fileHeader;BITMAPINFOHEADER infoHeader;FILE* pfin = fopen("5.bmp","rb");if(!pfin)

2014-01-10 18:23:52 555

转载 win32载入一张位图

case WM_PAINT:{HDC hdc;PAINTSTRUCT ps;HDC hdcMem;HBITMAP hbmp; //一张位图的句柄BITMAP bmp;hdc = BeginPaint(hwnd,&ps);//为指定句柄hwnd窗口进行绘画准备工作hdcMem  = CreateCompatibleDC(hdc);//创建一个与指定

2014-01-09 13:18:59 444

原创 行列式....

D =   a  0  0  0 = abcd (特殊行列式 三角行列式) 4  b  0  0        -1  8  c  0 5 -7  6  d某元素的余子式 = 这个元素去掉这个元素行列的所有元素所得到剩余下来的行列式某元素的代数余子式 = (-1)^(这个元素的行+这个元素的列) *这个元素的余子式行列式代表某个数通过元素间的特殊的计算所得的值行列式

2013-12-29 16:24:53 536

原创 控制台版贪吃蛇

#include#include#include#include#include//地图大小#define MAP_SIZE 20//全局屏幕输出缓存区句柄HANDLE g_hOutput;//地图属性struct MapNode_s{enum NodeType_e{NOTHING, SNAKE , WALL, FOOD};NodeType_e

2013-10-13 02:07:15 496

原创 堆排序

#include #include #include templatevoid Sort(A * array, int max_node,bool re){if(re){SortBig2Small(array , max_node);}else{SortSmall2Big(array , max_node);}}templ

2013-10-09 13:57:01 391

转载 红黑树删除

相对于红黑树插入操作,删除操作复杂的多。第一:先看最简单情况,即删除红色节点。删除红色节点,不影响红黑树平衡性质,如图: 只需要删除红色节点,不需要进行调整,因为不影响红黑树的性质。  黑色节点没有增多也没有减少。注意:以下几种单支情况在平衡的红黑树中不可能出现。因为上述的情况,红黑树处于不平衡状态。(破坏到null,黑色节点数目相同)所以,平衡状态下红黑树要么单支黑-

2013-10-03 21:38:36 568

转载 红黑树数据结构剖析

FlorianWelcome to:http://www.cnblogs.com/fanzhidongyzby红黑树数据结构剖析红黑树数据结构剖析 红黑树是计算机科学内比较常用的一种数据结构,它使得对数据的搜索,插入和删除操作都能保持在O(lgn)的时间复杂度。然而,相比于一般的数据结构,红黑树的实现的难度有所增加。网络上关于红黑树的实现资料

2013-09-28 19:01:28 644

原创 C语言 超级跳转

#include #include jmp_buf a;int staten;int n = 0;void F(){   staten = setjmp(a);   printf("%d, %d\n",++n,staten);   getchar();   return;}int main(int argc, char *argv[]){ 

2013-09-16 16:04:35 454

原创 LUA 04

#include #include #include using namespace std;extern "C" {#include "lua.h" #include "lualib.h" #include "lauxlib.h"#pragma comment(lib,"lua5.1.lib")}/* Lua解释器指针 */lua_State* L;

2013-09-12 16:22:00 496

原创 LUA 03

#include #include #include using namespace std;extern "C" {#include "lua.h" #include "lualib.h" #include "lauxlib.h"#pragma comment(lib,"lua5.1.lib")}/* Lua解释器指针 */lua_State* L;

2013-09-12 15:31:23 447

原创 LUA 02

#include #include #include using namespace std;extern "C" {#include "lua.h" #include "lualib.h" #include "lauxlib.h"#pragma comment(lib,"lua5.1.lib")}/* Lua解释器指针 */lua_State* L;

2013-09-12 13:23:30 560

原创 基本的模板元编程

#include template struct fl{enum { value = N * fl::value };};template struct fl{enum{value = 1};};int main(int argc, char *argv[]){printf("%d\n",fl::value);getc

2013-09-11 19:53:51 496

原创 LUA Metamethods

Set = {}Set.mt = {}function Set.new (table)local retable = {}setmetatable(retable, Set.mt)for i, v in ipairs(table) do retable[i] = v endreturn retableendfunction Set.mt.__add(

2013-09-10 18:49:48 445

原创 LUA简单调用

extern "C" {#include "lua.h" #include "lualib.h" #include "lauxlib.h"#pragma comment(lib,"lua5.1.lib")}/* Lua解释器指针 */lua_State* L;int main ( int argc, char *argv[] ){ /* 初始化Lua */

2013-09-09 23:25:34 375

原创 简单窗口

#include#include//消息处理函数LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrecInstance,PSTR szCmdLine,int iCmdShow){ //int cxScreen,cyScr

2013-09-07 18:15:17 458

原创 C++ 简单的观察者模式

#include using namespace std;#define MAX_NUM 5class CObserve{public:CObserve(){}virtual void DoSomeThing()=0;/*templatevoid RegisterFunction(){}*/};class CObserveObje

2013-09-03 17:07:11 515

原创 MYSQL预处理(C语言)

#include #include #include #include #pragma comment(lib,"libmysql")#pragma comment(lib,"wsock32")int main(int argc, char *argv[]){MYSQL * conn = mysql_init(0);//连接MYSQL服务器if(!mysql

2013-09-02 20:20:27 676

原创 MYSQL 变量类型对应到C语言中的变量类型

buffer_type值SQL类型C类型MYSQL_TYPE_TINYTINYINTcharMYSQL_TYPE_SHORTSMALLINTshort intMYSQL_TYPE_LONGINTint

2013-09-02 20:04:11 963

原创 C语言(函数传递可变长度的参数列表)va_arg

#include #include int jf(int num,...){    int num1,num2;    va_list argptr;    va_start( argptr, num );    num1 = va_arg( argptr, int );    --num;    for( ; num > 0; num-- )       

2013-09-02 17:10:28 910

原创 C++偏特化

#include using namespace std;templateclass Function{public:typedef TT (*PFUN)(P param,P2 param2);Function(PFUN fun):m_fun(fun),m_p(0),m_p2(0){}Function(PFUN fun,P p1,P2 p2):m_fun(f

2013-09-01 17:25:53 499 1

原创 C++ 成员函数指针

#include using namespace std;class P{public:P(int _m):m(_m){}virtual void print(){printf("P:%d\n",m);}int m; };class PP:public P{public: PP(int _m):P(_m) {

2013-08-30 22:25:30 381

原创 IOCP 配合 AcceptEx

#include "SOCKET.h"#include DWORD WINAPI ThreadProc(LPVOID pvParam);#define PORT 8080#define LISTEN_QUEUE 200// AcceptEx 和 GetAcceptExSockaddrs 的函数指针,用于调用这两个扩展函数LPFN_ACCEPTEX              

2013-08-25 22:25:52 815 1

原创 C mysql

#include #include #include #include // 进行网络编程需要winsock2.h#include #include #include #pragma comment(lib, "libmysql.lib")#pragma comment(lib ,"ws2_32")using namespace std;MYSQL mys

2013-08-07 10:55:08 439

转载 mysql存储过程详解

mysql存储过程详解1.      存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存

2013-08-07 09:28:39 1474

原创 UDP广播

//客户端#include #include #pragma comment(lib ,"ws2_32")int main(){WSADATA wsaData;WSAStartup(MAKEWORD(2,2),&wsaData);SOCKET socketfd;SOCKADDR_IN addr;addr.sin_family=AF_INET;addr.s

2013-08-06 20:06:25 458

原创 坑爹的底层

///////////////////////////////////////////////////////////////////////////////////////////boost::asio::ip::tcp::acceptor类 负责 接收数据 发送数据 接收客户端连接..boost::asio::ip::tcp::endpoint类 记录地址.////////////

2013-08-01 16:08:52 476

转载 boost socket编程 例子

服务端程序代码:  1 // BoostServer.cpp : 定义控制台应用程序的入口点。 2 // 3  4 #include "stdafx.h" 5 #include   6 #include   7  8 using namespace boost::asio; 9 #define BLOCK_SIZE 64*102410 11 

2013-07-23 10:37:59 685

转载 二分查找算法

二分查找算法    二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为:    1.第一步查找中间元素,即5,由于5 

2013-07-20 18:59:11 486

原创 二分排序

#include void f(int *a,int len){if(lenreturn ;int i;int t=0,w=len-1;int c[len];for(i=1;i{if(a[i]>a[0]){c[w]=a[i];w--;}else{c[t]=a[i];t++; } }c[w]=a[0];for(i

2013-07-20 17:24:43 386

原创 二叉树查找树...

#include #include #include #include using namespace std;//R 大 L 小 struct Node{Node* L;Node* R;Node* root;int data;Node(int d=0):data(d),L(),R(){}};class bst{ int n;public

2013-07-20 17:24:25 364

转载 C++ mutable

mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。  在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。  我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面

2013-07-19 09:45:27 350

原创 time.h库简单应用

#include #include //CLOCKS_PER_SEC ((clock_t)1000)  表示一秒钟会有多少个时钟计时单元int main(int argc, char *argv[]){clock_t n,m;printf("%ld\n",CLOCKS_PER_SEC); n=clock(); // clock() 程序已经运行过的时间  毫秒为单位 返

2013-07-17 14:13:11 652

转载 二叉树的非递归遍历

二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。一.前序遍历 

2013-07-17 13:24:51 327

转载 C++ 强制类型转换

关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。

2013-07-17 09:39:33 360

转载 WINDOWS临界区

WINDOWS下临界区的实现思路很简单,就是如果只有一个线程进入临界区的时候,只记录此线程的ID,让线程继续运行,如果此线程还没有离开临界区时又有另一个线程要进入临界区时,就生成一个内核对象,然后在此内核变量上进行等待,当线程退出时,把内核变量设置成受信状态,唤醒等待的线程。实现方法可以分成两部分,一部分是进入线程的控制,在CRITICAL_SECTION结构中有一个变量表示进入线程循环进入的

2013-07-16 20:38:41 985

转载 二叉查找树(二叉排序树)的详细实现

1、序     详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、  查找最大值、查找最小值、查找指定结点的前驱和后继2、二叉查找树简介     它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树

2013-07-16 19:33:59 404

空空如也

空空如也

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

TA关注的人

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