- 博客(42)
- 资源 (3)
- 收藏
- 关注
原创 Qtcreator中常用快捷键总结
Qtcreator中常用快捷键总结F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置
2015-03-14 21:34:54 752
原创 VS2010中嵌入Python的方法
1,、安装vs2010.2、下载Python,安装。Python下载地址。3、下载Python tools for visual studio的工具,地址。下载的时候要选择适合vs版本的工具。安装工具的时候如果提示需要安装一个插件,按照提示安装即可。
2014-12-06 13:23:32 1216
原创 Hash表的扩容(转载)
Hash表(Hash Table) hash表实际上由size个的桶组成一个桶数组table[0...size-1] 。当一个对象经过哈希之后,得到一个相应的value , 于是我们把这个对象放到桶table[ value ]中。当一个桶中有多个对象时,我们把桶中的对象组织成为一个链表。这在冲突处理上称之为拉链法。 负载因子(load factor)
2014-10-09 23:45:59 1675
原创 字符串和数字的全排列问题、前i位被i整除问题
// 全排列问题.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;templatevoid swap(T *str1,T *str2){ T temp; temp=*str1; *str1=*str2; *str2=temp;}void permStr(char *str,
2014-10-09 14:30:46 831
原创 堆的相关算法
堆是一种特殊的二叉树,它具有以下两个性质:1、每个节点的值大于或等于其每个子节点的值;2、该树完全平衡,最后一层的叶子都处于最左侧的位置。有最大堆和最小堆之分,以上定义是最大堆的定义,最小堆的定义如下:1、每个节点的值小于或等于其每个子节点的值;2、该树完全平衡,最后一层的叶子都处于最左侧的位置。本文实现了堆的建立、删除、插入、堆排序。本文中的例子以最大堆为
2014-10-07 15:40:36 873 1
原创 字符串匹配算法
字符串匹配算法有很多种,最为常用的有KMP算法、普通算法。1、普通算法:此算法是效率最低的算法,时间复杂度为O(NM)。程序如下:bool str_match(const char * str1, const char * str2)//O(P*T){ assert(str1 != NULL && str2 != NULL); int k = 0; for (unsigned
2014-10-07 14:35:31 806
原创 将二叉树转换成双向链表
思路:采用中序遍历的方法,visit函数需要完成的功能为:1、当前节点的左子节点指向上一次访问的节点;2、将上一次访问节点的右子节点指向当前节点;3、最后更新上一次访问节点为当前节点。在第二步时需要判断上一次访问节点是不是为NULL,如果是,则第二步改为链表的头结点指向当前节点。程序如下:struct BSTnode{ int data; BSTnode * left
2014-10-07 10:48:32 917
原创 互联网协议入门
转发自程序员的那些事 作者:阮一峰 我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和
2014-10-06 19:34:45 1138
原创 TCP是如何通过滑动窗口协议实现流量控制的?
T C P使用一种窗口(w i n d o w)机制来控制数据流。当一个连接建立时,连接的每一端分配一个缓冲区来保存输入的数据,并将缓冲区的尺寸发送给另一端。当数据到达时,接收方发送确认,其中包含了自己剩余的缓冲区尺寸。剩余的缓冲区空间的大小被称为窗口( w i n d o w) ,指出窗口大小的通知称为窗口通告(window advertisement) 。接收方在发送的每一确认中都含有一个窗口
2014-09-27 22:08:31 1962
原创 图解TCP/IP协议
本文通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道。如图1所示,给出了TCP通信过程的示意图。图1 TCP 三次握手四次挥手图1主要包括三部分:建立连接、传输数据、断开连接。1)建立TCP连接很简单,通过三次握手便可建立连接。2)建立好连接
2014-09-24 10:44:35 2599 3
原创 String类
// StringClass.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#include "string"using namespace std;class CMyString{public: CMyString(char * pData = "denggaoxiang"); CMyString(
2014-09-23 20:47:44 624
原创 浮点数在内存中的存放方式
C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而dou
2014-09-23 20:45:58 804
原创 求数组中第k小的数,有快速排序的验证
// The_Least_K_number.cpp : 定义控制台应用程序的入口点。//数组中第k小的数,例如a[1000]中第250小的数//#include "stdafx.h"#include using namespace std;void swap(int *p, int *q){ int temp = *p; *p = *q; *q = temp;}int
2014-09-23 16:41:22 688
原创 linux系统用户态和内核态及其通信
究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子C代码 1. void testfork(){ 2. if(0 = = fork()){ 3. printf(“create new process
2014-09-23 15:41:36 857
原创 PYthon多线程服务器
分为两部分,一部分用来更新数据,另一部分用来响应客户端的请求。from SocketServer import TCPServer, StreamRequestHandlerfrom time import ctimefrom SocketServer import ThreadingTCPServerimport tracebackimport threadingMut
2014-09-21 23:23:10 888
原创 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
http://www.cnblogs.com/zhangchaoyang/articles/2012070.html最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
2014-09-13 21:05:05 723
原创 set和multiset容器的能力
1 set和multiset容器的能力set 和multiset容器的内部结构通常由平衡二叉树(balancedbinary tree)来实现。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less2 set和multiset容器的操作Constructor and Destructor· set c:创建一个空的set或multiset容器
2014-09-10 23:37:04 843
原创 VC++6.0版本程序转成VS2010版
直接转换的时候遇到两个问题:1、预编译头文件*.PCH找不到2、static_cast”: 无法从“void (__thiscall CView2::* )(void)”转换为“LRESULT (__thiscall CWnd::*1、来源:http://www.zhuyanfeng.com/archives/2231错误:fatal error C1083: 无法打开
2014-05-03 19:22:24 1972
原创 在VC/MFC中嵌入Google地图——图文并茂
最近需要实验室需要将在无人机地面站中嵌入地图,在网上找了很多资料,终于有些眉目了,首先,做这个需要用到的知识有,MFC控件、MFC类库、JavaScript脚本语言,Google API、Google离线地图;由于google离线地图不怎么会,首先从google在线地图开始。下面总结一下这几天搞google地图的步骤,有附图,对MFC和JS脚本语言不懂的同学有用。在线Google 地图
2014-05-01 20:27:01 5214 4
原创 C++中的单例模式 ,类只构造5次的解法
C++中的单例模式 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在
2014-04-23 18:38:43 879
原创 时间复杂度为O(N),空间复杂度为O(1)的排序算法
#include "stdafx.h"#include "iostream"using namespace std;/*//hashSort排序算法的时间复杂度为O(N),空间复杂度为O(1)//在数字范围有限制的情况下,是有一个这样的算法的,只需要用一个数组记录每个数字出现次数就可以了。//假定你的数字范围在0到65535范围之内,定义一个数组count[65536](这个空间是常量
2014-04-10 18:28:49 2746
原创 二叉树问题
// mirror_of_search_tree.cpp : 定义控制台应用程序的入口点。//二叉树的镜像实现,////二叉树的广度优先遍历////中序遍历////队列////广度优先遍历//#include "stdafx.h"#include "iostream"#include "queue"using namespace std;struct BSTnode{int data;int
2014-04-09 20:42:53 762
原创 整数中二进制1的个数
题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。分析:这是一道很基本的考查位运算的面试题。包括微软在内的……一个很基本的想法是,我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到第一位了,再判断是不是1。这样每次移动一位,直到这个整数变成0为止。现在
2014-04-09 18:27:15 710
原创 扑克牌顺子问题
#include "stdafx.h"#include "iostream"#include #include using namespace std;void GetMaxMin(const set & setNum, int &nMax, int &nMin){ nMin = 13; nMax = 1; set::const_iterator iter = setNum.b
2014-04-08 19:47:11 739
原创 去掉英文句子中重复出现的单词和标点符号
#include "stdafx.h"#include "iostream"#include "sstream"#include "map"#include "string"#include "list"#include "vector"#include using namespace std;int main(){ string inputst
2014-04-02 10:28:10 2116
原创 n皇后问题
#include "stdafx.h"#include "iostream"using namespace std;class ChessBoard{public: ChessBoard(); ChessBoard(int); void findSolutions();private: const bool available; const int squares, nor
2014-03-28 21:33:57 657
原创 1+2+3+……+n的非循环解法
#include "stdafx.h"#include "iostream"using namespace std;class Temp{public: Temp() { ++N; Sum += N; } /* //在类没有实例化对象之前,如果想使用static数据成员,只能使用static成员函数// */ static void Reset() { N
2014-03-28 21:32:38 865
原创 n个人报数退出问题,数到m退出,最后剩下的是几号
#include "stdafx.h"#include "iostream"using namespace std;int last_people(int n,int m){ int *p = new int[n]; for (int i = 0;i < n; i ++)//编号// *(p+i) = i + 1; int k = 0,out_of_line = 0; int
2014-03-28 21:29:58 1084
原创 str to int 转换
#include "stdafx.h"#include "iostream"#include "cassert"using namespace std;long int str_to_int(char * str){ assert(str != NULL); long int sum = 0; char flag = '0'; if(*str == '+') { flag
2014-03-28 21:26:52 990
原创 数组逆序算法
有整形数组A有n个数;那A逆序:例如A={1,2,3,4}经过代码处理后变为A={4,3,2,1};要求代码简介(写出代码。void revense(int * a,int n) {for(int i=0; i{a[i]=a[i]+a[n-i-1];a[n-i-1]=a[i]-a[n-i-1];a[i]=a[i]-a[n-i-1];}
2014-03-28 21:01:37 570
原创 快速排序算法简单易懂实现
void swap(int *p1, int *p2){ int temp; temp = *p1; *p1 = *p2; *p2 = temp;}int partition(int data[], int lo, int hi)//data[lo]--data[hi]{ int i, j; int key = data[hi]; i = lo; for(j = lo;
2014-02-23 20:07:32 761
原创 Windows下正确安装IAR的方法
1.获取主机ID。 2.用文本编辑器打开注册机提供的一个批处理文件,将里面的ID改为自己电脑的ID。 3.保存,运行这个批处理文件,就会生成一个记事本,里面就是注册码和钥匙。 我就是这么做的,不过试了n多遍都没成功,总提示注册码和钥匙与主机ID不匹配。而这个软件如果不成功的注册,就无法继续安装下去。。。。后来在网上找了好久,才发现问题所在:那个获
2013-12-09 12:41:45 2721
原创 基于无连接(UDP协议)的服务器与客户端编程实例
client.c#include #include #include #include #include #include #include #include #include #include #include #define PORT 8999#define DESIP "127.0.0.1"#define MAXSIZE 4096int
2013-11-24 16:44:12 1007
原创 无连接的服务器编程(UDP)
网络进程之间的通信时通过套接字来实现的,套接字是通信端点的抽象,与应用程序使用文件描述符是一样的,本文讲解一下基于UDP的服务器程序的编写,具体步骤如下:1、 创建套接字。创建套接字需要调用socket函数,socket函数在文件中,函数原型为:Int socket (int domain, int type, intprotocol);
2013-11-24 16:06:01 1089
原创 基于AT91SAM7se512的串口通讯的实现
实验室正在研究基于AT91SAM7se512芯片的无人机系统和基于SImulink的无人机飞行仿真平台,主控制芯片与外围传感器的通讯和主控芯片与PC机的通讯是本项目最基本的部分,下面将此段时间对串口通信的认识记录下来,由于本人知识水平的有限,欢迎各位读者积极指正,我将不胜感激。(一)、硬件部分.在AT91SAM7se512的串口通信过程中,我使用的是usb转串口线,单一的232串口还是不能
2013-08-24 18:22:56 1929
原创 《UNIX环境高级编程》中apue.h的问题与《unix网络编程》中unp.h的问题
《UNIX环境高级编程》中apue.h的问题运行程序清单1-1(列出一个目录中的所有文件) 提示 "错误:apue.h:没有那个文件或目录".很是受打击,果断google解决之。apue.h是作者自定义的一个头文件,包括程序所需的常用头文件及出错处理函数。所以因该将它放入系统头文件中(Linux下是 /usr/include),这样gcc编译器就可以找到它了。
2013-08-19 19:37:05 776
原创 NAND闪存
NAND百科名片 NAND闪存芯片NAND闪存是一种比硬盘驱动器更好的存储方案,这在不超过4GB的低容量应用中表现得犹为明显。随着人们持续追求功耗更低、重量更轻和性能更佳的产品,NAND正被证明极具吸引力。目录基本介绍与NOR闪存比较基本操作连接到处理器多层单元展开基本介绍与NOR
2013-08-06 15:56:11 1300
原创 页面文件对磁盘格式化的影响
新安装的winXP系统,想在另外一个分区安装win7系统,在安装之前想对分区进行格式化,但是不能格式化,试着关闭了所有的应用程序,还是不能格式化,在磁盘管理中发现目标盘写了个“页面文件”,我想是不是这个页面文件的原因而导致的不能格式化呢?我的猜测是正确的,百度了一下“页面文件”,想看看它到底是什么东东,最后发现页面文件是在winxp下面的虚拟内存,只要将虚拟内存的目标改一下即可,操作如下:
2013-06-29 12:39:19 1670
原创 四种排序算法
#include "stdio.h" int a[10] = {10,9,8,7,6,5,4,3,2,1}; display(int a[],int n){ int i; for(i = 0; i printf("%d ",a[i]); printf("\n
2013-06-29 12:37:31 568
MFC中插入google在线或离线地图,MFC与google地图交互
2014-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人