- 博客(103)
- 资源 (9)
- 收藏
- 关注
原创 平衡二叉树的插入(删除)操作
#include #include #include /* 二叉平衡树节点的定义 */ typedef struct _AVLNode{ int data; int bf;/*平衡因子*/ struct _AVLNode *lchild,*rchild; }AVLNode,*AVLTree; /*创建一个二叉搜索树节点,x为关键字值 */
2013-11-18 15:16:38
870
原创 通过命令设置ip,子网等信息
用命令行更改IP地址 在Windows中,如果你要设置IP地址,一般是进入“本地连接”->“属性”,手动设置要更改的IP地址。其实,在命令行同样可以设置IP地址。如果你的IP需要在几个IP中来回切换,可以使用 netsh 命令更改: 1.进入CMD命令行; 点击“开始”->“运行”,输入“cmd”,回车, 2.设置IP: 设置动态获取IP地址(DHCP)
2013-11-15 15:32:46
813
原创 python 中生成器的简单介绍及用法
早在我们讨论迭代器背后的有效性以及它们如何给非序列元素对象一个像序列的迭代器接口。这很容易明白因为他们有一个方法可以获得下一个元素next()然而,除非你实现一个迭代器的类,迭代器真正的并没有那么聪明。难道调用函数还没有强大到在迭代中以某种方式生成下一个值并且返回和next()调用一样简单的东西?那就是生成器的动机之一。生成器的另外一个方面甚至更加强力,。。。协同程序的概念。协同程
2013-11-11 21:18:14
812
原创 判断有向图是否存在环
一无向图的深度遍历中,访问到已访问过的节点,可以得出 “存在环” 的结论;但在有向图中并不是这样。 我把我的算法详细说下,先建立一个顶点颜色表C[N] 0 白色,未被访问过的节点标白色 -1 灰色,已经被访问过一次的节点标灰色 1 黑色,当该节点的所有后代都被访问过标黑色 仍然是按图的节点深度遍历,访问到V时,V若被访问过,那么有2种状态:
2013-10-29 16:15:03
757
原创 归并排序
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。下面是我写的源代码 :错误的地方还望大家支出来#include#include#includeusing namespace std;const int MAX = 105;int temp[MAX],a[M
2013-10-29 10:09:10
478
原创 贝尔曼-福特算法
贝尔曼-福特算法与迪科斯彻算法类似,都以松弛操作为基础,即估计的最短路径值渐渐地被更加准确的值替代,直至得到最优解。在两个算法中,计算时每个边之间的估计距离值都比真实值大,并且被新找到路径的最小长度替代。 然而,迪科斯彻算法以贪心法选取未被处理的具有最小权值得节点,然后对其的出边进行松弛操作;而贝尔曼-福特算法简单地对所有边进行松弛操作,共|V| − 1次,其中 |V |是图的边的数量。在重复
2013-10-28 11:22:27
4127
原创 code block 下链接mysql
1.将/lib/libmysql.dll拷贝到windows/system32下 2.打开项目的构建选项 3.添加下列信息 3.测试代码: [cpp] view plaincopyprint?#include #include #include #include /
2013-10-19 16:53:58
639
原创 linux下安装mysql
文本将主要讲述在fedora14下,如何安装mysql。安装mysql主要有两种方法,一为使用yum命令安装,另一种是到官网下载安装文件安装。下面我将详细讲述以上两种安装方法:一、yum命令安装1.yum search mysqlfedora14安装mysql 2.su输入密码fedora14安装mysql 3.yum install mysql-serve
2013-10-16 15:55:33
480
原创 linux进程标示号
摘要:本节要介绍一些有关进程的特殊操作。有了这些操作,就使得进程的编程更加完善,能编制更为实用的程序。主要的内容有得到关于进程的各种ID、对进程的设置用户ID、改变进程的工作目录、改变进程的根、改变进程的优先权值等操作。 3.进程的特殊操作 上一节介绍了有关进程的一些基本操作,如进程的产生、进程的终止、进程执行映像的改变、等待子进程终止等。本节要介绍一些有关进程的特
2013-10-11 21:16:15
815
原创 linux文件的权限
一、Linux文件权限 每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。 利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为 准。第一个字段由10个字符组成,如下: -rwxr-xr-x 第一位表示文件类型,-表示文件,d表示目录 2-4位表示文件所有者的权限,u
2013-09-17 19:21:50
385
原创 非递归求树的高度
int BiTreeDepthHierarchy(BiThrTree T) //非递归类层次遍历求二叉树深度{ int depth=0,hp,tp,lc; //hp为已访问的结点数,tp历史入队的结点总数,lc为每层最后一个结点标记 LinkQueue Q; BiThrNode *p; if(T) { p=T; hp=0;tp=1;lc=1; InitQueue(Q);
2013-09-17 17:16:05
1123
原创 boost安装方法
第一步是下载codeblocks-12.11mingw-setup.exe,下载地址::http://www.codeblocks.org/downloads/26.然后安装CodeBlocks.第二步下载Boost,然后解压到一个目录.可以到Boost网站(http://www.boost.org/)下载最新的版本.例如:我下载的是boost_1_52_0.7z.解压到目
2013-09-14 21:31:02
1134
原创 boost库中bind的用法
boost::bind 是标准函数std::bind1st和std::bind2nd的泛型。它支持函数、函数对象、函数指针和成员函数指针。它可以绑定任何参数到一个具体的值或者函数到预定义好的位置。-----------------在函数和函数指针中使用-----------------int f(int a, int b){ return a + b;}int g
2013-09-13 18:09:16
628
原创 stat函数
stat函数讲解表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0,失败返回-1,错误代码存于er
2013-09-10 18:49:04
747
原创 gdb调试器的常用命令
GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。 和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行 在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含
2013-09-09 20:20:04
437
原创 设置对话框背景颜色
设置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示时调用OnSize()->OnEraseBkgnd(),->OnPaint()->OnCtlColor(),若想改变对话框大小,比如全屏显示ShowWindow(SW_SHOWMAXIMIZED);UpdateWindow();其中 ShowWindow会
2013-09-09 09:37:17
972
原创 C++游戏开发学习的内容
如果要自学游戏程序开发的话,可以看看下面的,呵呵。 游戏开发资料(PDF书都是中文版的,非英文,很多是本人自己扫描制作,从未网上发布过,所以独家啦): 1、Gamebryo 2.2游戏引擎(盛大、腾讯等公司制作网络游戏常用)+Gamebryo v2.2.1说明文档 2、游戏PDF书及其代码: 3D游戏编程、3D游戏编程大师技巧、Direct3D游戏编程入门教程第2版
2013-09-07 21:31:46
824
转载 B树
B 树是一种被设计成专门存储在磁盘上的平衡查找树。因为磁盘的操作速度要大大慢于随机存取存储器,所以在分析B 树的性能时,不仅要看动态集合操作花了多少计算时间,还要看执行了多少次磁盘存储操作。 B 树与红黑树(下一篇介绍)类似,但在降低磁盘I/O 操作次数方面要更好一些。许多数据库系统就使用 B 树或 B 树的变形来存储信息,想象一下一棵每个节点包含 1001 个 key 的高度为 2 的 B 树能
2013-08-22 18:49:19
619
原创 归并排序源代码
void Merge(int a[], int b[], int low, int mid, int high){ int k = low; int begin1 = low; int end1 = mid; int begin2 = mid + 1; int end2 = high; while(k high ) { i
2013-08-22 17:42:55
592
原创 for_each的用法
function templatestd::for_eachtemplate Function for_each (InputIterator first, InputIterator last, Function fn);Apply function to rangeApplies function fn to each of the elements in
2013-08-22 08:56:34
646
原创 时间函数的用法(ctime)
/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法. 通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个: Coordi
2013-08-21 23:58:42
13253
原创 ADO连接Mysql数据库
1// ADOConn.h: interface for the ADOConn class. 2// 3/**/////////////////////////////////////////////////////////////////////// 4#import "c:/Program Files/Common Files/System/ado/msado15.dll" no
2013-08-21 19:15:59
813
原创 工具栏的创建 及状态栏
首先来说MFC中工具栏的创建方法,可以有两种方法创建工具栏: 第一种方式的步骤如下:(1)创建工具栏资源。这个在IDE中的资源编辑器中完成。(2)构造一个CToolBar对象。(3)调用Create()函数或者CreateEx()函数创建Windows工具栏,并把它与已经创建好的CToolBar对象关联起来。(两个Create函数是CTollBar的成员函数
2013-08-20 17:53:45
576
原创 平衡二叉树的原理
平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1很显然,平衡二叉树是在二叉排序树(BST)上引入的,就是为了解决二叉排序树的不平衡性导致时间复杂度大大下降,那么AVL就保持住了(BST)的最好时间复杂度O(lo
2013-08-16 15:51:52
736
原创 UNICODE和ANSI的区别
一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其它一些符号。而最高位为1的另128个字符(80H—FFH)被称为“扩展ASCII”,一
2013-08-15 19:15:01
5581
原创 索引的作用
索引的作用就在于,为某个字段建立了索引之后,查询这个字段里面的数据的时候,效率更高,也就是快,比如create index abc on stu(age);为stu表的age字段建立了索引,那么查询时,select * from stu where age > 10;这个时候效率就高,主要体现在where语句,where age > 10 ,将age 作为查询的条件,age又加了索
2013-08-12 09:14:13
657
原创 使用ADO连接数据库的方法
ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文详细地介绍在Visual C++开发环境下如何使用ADO来进行数据库应用程序开发,并给出示例代码。为
2013-08-10 10:15:30
892
原创 士兵杀敌(四)
南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难的事情,军师小工的任务就是在南将军询问他某个人的军功的时候,快速的报出此人的军功,请你编写一个程序来帮助小工吧。假设起始时所有人的军功都是0.输入 只有一组测试数据。每一行是两个整数T和M表示共有T条指令,M个士兵。(1<=T,M<=10000
2013-08-07 17:06:39
669
原创 文件读写API函数
文件操作API函数详解在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍:一般文件操作 APICreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。ReadFile从文件中读取字节信息。在打开文件获得了文件句柄之后,则
2013-08-05 11:08:33
2090
转载 Writefile与SetFilePointer函数的使用
尝试着在磁盘中修改PE文件。用到writefile和SetFilePointer这两个函数下面先来看看这两个函数:SyntaxDWORD WINAPI SetFilePointer( __in HANDLE hFile, __in LONG lDistanceToMove, __inout_opt PLONG lp
2013-08-05 11:06:00
1077
原创 加速键的使用
#include#include"7_3.h"HINSTANCE hInst;LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM);//定义对话框窗口处理函数int WINAPI WinMain(HINSTANCE hInstance,
2013-08-05 10:33:30
546
原创 任务管理器的创建
因为任务管理器中涉及到进程的枚举操作,①、设计界面、以及列表控件变量的绑定;②、列表控件样式的指定:m_TaskList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);m_TaskList.InsertColumn(0, _T(" 进程名称"), 0, 100);m_TaskList.InsertColu
2013-08-02 16:06:03
880
转载 CImageList类Create函数参数解析
前面提到了CImageList类的Create(...)函数,虽然MSDN上已经有所解释,但仍有网友问到参数的具体含义,下面就我的理解,对参数进行一次轻量级的剖析 函数原型(其他重载函数请参看msdn): BOOL Create( int cx, int cy, UINT nFlags, int nInitial,
2013-08-01 17:47:45
765
原创 进程的相关操作
①、ShellExecute 进行进程的创建,属于 shell api://int iRet = (int)ShellExecute(m_hWnd, _T("open"), _T("NOTEPAD.EXE"), _T("C:\\123.txt"), NULL, SW_SHOW);int iRet = (int)ShellExecute(m_hWnd, _T("open"), _T("C:\
2013-08-01 16:06:15
551
原创 VC++系统各种路径信息的获取
①、Windows、System32、temp 等目录的获取:TCHAR szPath[MAX_PATH] = {0};GetSystemDirectory(szPath, MAX_PATH); //C:\WINDOWS\system32GetWindowsDirectory(szPath, MAX_PATH); //C:\WINDOWSGetTempPath(MAX_PATH,
2013-08-01 11:35:10
2559
原创 文件的基本操作
①、文件的创建、打开、关闭;文件的创建、打开:CFile::Open文件的关闭:CFile::CloseCFile::modeCreate:以新建方式打开,如果文件不存在,则新建;如果文件已存在,把该文件长度置零,即清除文件原有内容;CFile::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。一般与CFile:
2013-07-31 17:04:11
1327
原创 实现文本的 复制 粘贴 的创建
①、计算器计算功能的实现:各种控件的使用:http://www.cctry.com/thread-106-1-1.html②、将计算结果保存到剪贴板;//拷贝数据:if (!OpenClipboard()) return;if(!EmptyClipboard()) { CloseClipboard(); return;}CString str = _T("abc
2013-07-31 15:21:08
601
原创 状态栏的创建
让对话框的状态栏显示时钟、鼠标位置、鼠标点的颜色信息等……①、添加字符串资源:ID_INDICATOR_POS=鼠标所在位置ID_INDICATOR_COLOR=鼠标位置颜色ID_INDICATOR_TIME=当前系统时间②、在对话框类头文件中进行状态栏对象的定义:CStatusBar m_wndStatusBar;③、定义窗格数组:static UINT indica
2013-07-31 14:45:51
759
原创 工具栏的创建
①、MFC 中工具栏关联的类:CToolBarCtrl、CToolBar②、CToolBarCtrl、CToolBar 两个类的区别:CToolBar 和 CStatusBar 都是在 Control Bars 类中的封装,而 CStatusBarCtrl 和 CToolBarCtrl 都是在 Controls 类中的封装。CToolBarCtrl 和 CStatusBarCtrl 它
2013-07-31 14:45:08
608
计算机程序设计艺术
2013-08-22
vs2012MSDN
2013-08-02
MySql数据库
2013-06-29
贪吃蛇代码
2013-06-29
普里姆算法
2013-06-02
算法导论中文版
2013-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅