自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 求数组里出现一次的数字~其他数字出现三次~

int singleNumber(int A[], int n) { int num = 0; int ret = 0; for(int i = 0; i < 32; i++) { num = 0; for(int j = 0; j < n; j++) {

2014-07-02 22:03:01 505

原创 局部静态变量的多线程问题

局部静态变量的多线程问题

2014-06-26 20:46:23 4666 1

原创 数组数对之差的最大值

int MaxSub(int *a,int len){ int maxS = a[0]; int sub = maxS-a[1]; int i = 1; for(; i < len; i++) { if(sub < (maxS-a[i])) sub = maxS-a[i]; if(maxS < a[i]) maxS = a[i]; } r

2014-06-25 22:38:08 565

原创 二分查找

int BinarySearch(const int *a,const int len, int key){ int mid = 0; int left = 0; int right = len-1; while(left<=right) { mid = left + (right - left) / 2; if(a[mid] < key)

2014-06-21 18:52:30 369

原创 中序遍历 后序遍历 恢复二叉树

中序遍历 后序遍历 恢复二叉树 数组存储

2014-06-20 19:42:54 717

原创 后序遍历的非递归实现

void PostOrder(Node *node){ node *cur = NULL; node *pre = NULL; stack s; s.push(node); while (!s.empty()) { cur = s.top(); if ((cur->left == NULL && cur->right == NULL) || (!pre && (p

2014-06-16 16:50:45 448

原创 中序遍历的非递归实现

void InOrder(Node *node){ stack s; s.push(node); Node *p = node; while (!s.empty()) { while (p) { s.push(p); p = p->left; } if (s.empty()) { p = s.pop(); visit(p->value);

2014-06-16 16:28:24 499

原创 前序遍历的非递归实现~(两种方法)

void PreOrder(Node *node){ stack s; s.push(node); Node *p = node; while (!s.empty()) { while (p) { visit(p->value); s.push(p); p = p->left; } if (s.empty()) { p = s.pop();

2014-06-16 16:26:58 698

原创 求数组里出现一次的数字~其他数字出现两次~

int OnlyOnce(const int *a, int len){ int x = a[0]; for (int i = 1; i < len; i++ ) { x ^= a[i]; } return x;}

2014-06-16 14:54:01 364

原创 连续子数组的最大和

int MaxSum(int *a, int len){ int sum = 0; int tem = a[0]; for(int i = 1; i < len; i++) { if (tem < 0) tem = a[i]; else tem += a[i]; if (tem>sum) sum = tem; } return sum;}

2014-06-09 14:27:04 334

原创 进程 线程

进程:是一个正在运行的程序的一个实例,

2014-06-01 11:50:18 365

原创 插入排序

void InsertSort(int *a, int len) { int i=0; for(i = 1; i < len ; i++) { int j = 0; int key = a[i]; for(j = i - 1 ; j >= 0 ; j--) { if(a[j] < key) break; a[j+1] = a[j]; }

2014-05-25 14:36:53 345

原创 冒泡排序

void BubbleSort(int *a, int len){ int i = 0; for(i = 0; i < len - 1; i++) { int j = 0; for( j = 0; j < len - i - 1; j++) { if(a[j] > a[j+1]) { int tem = a[j]; a[j] = a[j+1];

2014-05-25 14:35:47 340

原创 选择排序

void SelectSort(int *a, int len){ int i = 0; for( i = 0; i < len - 1; i++) { int j = 0; int min = i; for(j = i + 1; j < len; j++ ) { if( a[min] > a[j] ) min = j; } int tem =

2014-05-25 14:35:09 334

原创 KMP 算法

最近在看KMP算法~ 一头雾中

2014-05-21 14:30:13 461

原创 TLS 线程局部存储

TLS(Thread Local Storage) 线程局部存储 所有的线程都共享着进程的虚拟地址~ 局部变量为每个线程所独立共享的,静态变量和全局变量是进程中所有线程一起共享的~ TLS可以为线程提供一个唯一的数据用一个全局的索引~每个线程 有自己的副本~各个线程互不影响~其实所保存的数据就是线程关联的~先看个图:如图可见每个线程有自己独立的TLS表格,相当于一个数组

2014-05-21 00:09:42 735

原创 多线程通信

多线程之间的通信方式 1.全局变量 2.最常用

2014-05-20 10:12:46 403

原创 公共子串

#include #include using namespace std;void SearchMax(const char *strA, int lenA,const char *strB, int lenB){ int i = 1; int j = 1; int sign[50][50] = {{0,0}}; for(; i < lenA; i++) { for(j

2014-05-18 20:27:55 360

原创 匿名管道 获取控制台输出

#include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ SECURITY_ATTRIBUTES saPipe; saPipe.nLength = sizeof(SECURITY_ATTRIBUTES); saPipe.lpSecurityDescriptor = NUL

2014-05-17 19:11:40 1966

原创 单链表的反转

void InitList(Node *pHead){ Node* pList = pHead; int i = 0; for(; i < 10; i++) { Node *pNode = new Node; pNode->data = i; pNode->next = NULL; pList->next = pNode; pList = pNode; } }

2014-05-17 12:14:26 394

原创 全排列

void Range(int *a, int len,int s){ int i = 0; if(s == len-1) { Print(a,len); return; } for(i = s; i < len; i++) { Swap(&a[s],&a[i]); Range(a,len,s+1); Swap(&a[i],&a[s]); }}

2014-05-15 23:15:59 385

原创 堆排序

void AdjustHeap(int *a, int len, int i){ int left = i * 2 + 1; int right = i * 2 + 2; if( left >= len ) return; int largest; if(left a[i]) largest = left; if(right a[largest

2014-05-15 23:04:54 367

原创 快速排序

void Swap(int *l, int *r){ int tem = *l; *l = *r; *r = tem;}int Partition(int *a, int s, int e) { int key = a[e]; int i = s ; int j; for(j = s ; j < e; j++) { if( key < a[j]) Swap(

2014-05-10 22:31:32 425

原创 合并排序

void Merge(int *a, int s, int m, int e){ int lLen = m - s + 1; int rLen = e - m; int *l = new int[lLen]; int *r = new int[rLen]; int i = 0; for(i; i < lLen; i++) l[i] = a[s+i]; for(i = 0; i

2014-05-10 22:09:21 457

原创 编译chromium windows 平台

之前也一直想编译一下传说中的chromium~ 由于机子性能有限 ~ 和各种编译错误而告终最近重装了系统 ,想着重头再来试下,终于成功了~   而且chromium已经变成使用Visual Studio 2013(Revision 254340 之后,Switch the default toolchain to VS2013)记录编译chromium过程~其实按照官网

2014-03-30 22:18:50 7373 3

原创 记 boost::function 使用

#include #include #include "boost/function.hpp"typedef boost::function FuncType;class SumFun{ public: void operator()(int i) { std::cout<<"Class sumFun..."<<i+200<<std::endl; }};class

2014-03-30 21:17:13 454

原创 三段分法

随便记录下一些简单算法:    大概就是一个数字数组{4,1.5,6,8,14,2,6,8,2,34,5,7,8} 输入关键字 把数组分法为 小于关键字在数组左边,等于中间,大于在右边~   实现:#include #define LENGTH(type,point) (sizeof(point)/sizeof(type))void Print(const int *

2014-01-11 23:22:12 445

原创 关于 _endthread _endthreadex 使用的问题

第一点:MSDN :_endthread automatically closes the thread handle;when you use _beginthreadex and _endthreadex, you must close the thread handle by calling the Win32 CloseHandle API. 这段话说_

2013-12-04 23:38:11 1815

原创 原始 socket 实现 ping ~(SOCK_RAW)

ping的原理就是给指定IP发送ICMP的数据包~实现ping源码:CPing.h/*Time :2013-9-10 22:40Title: CPing.h (实现ping)Author: Ryan Zhang*/#pragma once#include #include #define DATA_SIZE 32#define RECV_SIZE

2013-09-10 22:47:50 5193

原创 def 文件 PRIVATE 作用

对于def 文件PRIVATE 微软大叔已经解释的很清楚了~但是有些人还是不理解~ 网上又没人写的清楚  微软 大叔是这样写的:      可选的 PRIVATE 关键字禁止将 entryname 放到由 LINK 生成的导入库中。它对同样是由 LINK 生成的图像中的导出无效。(原文地址:http://msdn.microsoft.com/zh-cn/library/hyx1zcd3(v

2013-08-19 23:46:07 1112

原创 低权限向高权限发送消息 (例子 拖拽文件)

因为有UIPI的存在,当低权限向高权限发送先消息的时候,高权限的进程获取不到消息;     先看下什么是UIPI:以下摘自百度百科:   UIPI指 User Interface Privilege Isolation(用户界面特权隔离),是Windows NT 6.0后(即Vista)引入的一种新的安全特性,是整个UAC机制的有机组成部分,主要用于拦截接受对自身进程MIC等级还低

2013-08-02 22:27:59 2248

原创 linux 下编译 libcurl

1.在 curl 官网http://curl.haxx.se/download.html 下载最新版curl-7.31.0.tar.gz 2.解压curl-7.31.0  3.cd 到url-7.31.0  目录下   ---  ./configure --prefix=/usr/local/curl

2013-07-31 23:34:47 5212

转载 解决Windows程序界面闪烁问题经验

一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。 先来谈谈闪烁产生的原因     原因一:     如果熟悉显卡原理的话,调用GDI 函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己

2012-04-12 21:23:27 431

原创 访问 GAE (修改HOST)

1.打开http://www.just-ping.com/ 在输入框里输入google.com   挑选反应时间比较快的地址比如选择shanghai IP为203.208.46.240win7下 打开C:\Windows\System32\drivers\etc\host添加一句 203.208.46.240 www.XXXX.appspot.com完成后即可打

2011-12-03 11:18:52 3726

转载 VC 如何使程序运行后自己删除自己

有时候,我们需要创建一个运行后能够自己删除自己的可执行程序即自删除程序。很明显如果一个进程通过直接调用DeleteFile()来删除自己是不可能的。必须另想办法,经过本人在网上参考很多资料后实际测试并集众家之所长,发现有二种方法效果比较好。现在将其封装成函数,这样使用将更加容易:

2011-10-10 23:22:26 423

转载 纯虚析构函数

某些类里声明纯虚析构函数很方便。纯虚函数将产生抽象类——不能实例化的类(即不能创建此类型的对象)。有些时候,你想使一个类成为抽象类,但刚好又没有任何纯虚函数。怎么办?因为抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的

2011-09-18 23:30:32 2049

原创 windows7 + vs2008 +WDk +DDkWizard 驱动开发环境搭建

1.安装vs2008 (这个不用多说了吧)2.下载 安装WDK7.1.0  ,(安装包可能有点大慢慢下吧),安装过程一路下一步就可以了,安装包地址 http://www.microsoft.com/download/en/details.aspx?displaylang=

2011-09-09 20:15:20 5591 3

转载 BeginPaint和GetDC有什么区别?

http://hi.baidu.com/joyeep/blog/item/d60c9351daabed19367abeaf.html 这是个windows编程问题。第一种情况显示出来的字很正常。case WM_PAINT:           gdc = Be

2011-08-23 18:17:36 432

转载 浅谈HOOK技术在VC编程中的应用

引言  Windows操作系统是建立在事件驱动机制之上的,系统各部分之间的沟通也都是通过消息的相互传递而实现的。但在通常情况下,应用程序只能处理来自进程内部的消息或是从其他进程发过来的消息,如果需要对在进程外传递的消息进行拦截处理就必须采取一种被称为HOOK(钩子)的技术。钩

2011-08-23 10:59:55 284

转载 宏定义中的#,##

#,##1、在一个预处理器宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组。(原文:When you put a # before an argument in a preprocessormacro, the preprocessor turns t

2011-08-19 15:27:34 296

windbg,Debugging Tools for Windows (x86)

windbg Debugging Tools for Windows (x86)

2012-10-12

openGL配置文件

openGL配置文件

2012-04-16

j2me 俄罗斯方块

j2me 俄罗斯方块 j2me 俄罗斯方块 j2me 俄罗斯方块 j2me 俄罗斯方块 j2me 俄罗斯方块 j2me 俄罗斯方块

2011-10-25

文件传输 MFC 源码

基于Winsocket通信 的 文件传输

2011-05-14

c c++ 编译器 (源代码)

c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码c c++ 编译器 源代码

2011-03-06

java 编译器 (源代码)

java 编译器 (源代码)java 编译器 (源代码)java 编译器 (源代码)java 编译器 (源代码)java 编译器 (源代码)java 编译器 (源代码)

2011-03-06

CSDN论坛-算法精华

对二进制文件进行按字节加密,原文每字节转成十进制也就是0~255,采用RSA公钥法,可是如果r×q的值大于255,就肯定使得密文会大于255这样写成密文文件以后就无法按一字节(八位)加密成一字节(八位)了。也就是说密文文件肯定要大于原文文件。我设想把一字节明文加密成两字节密文,那样文件则扩大为原文的两倍。 请问是这样吗?有什么办法可以解决,或者说RAS是否适合对整个文件进行加密?如果换成DES是否可以不扩大文件呢?

2011-02-27

界面超级漂亮的透明记事本 GlassNotes Aero v3

界面超级漂亮的透明记事本 1.超小体积; 2.界面美观(须Aero); 3.绿色免安装,无毒无插件; 4.支持各种字体格式和段落格式; 5.支持.txt与.rtf等多钟文本格式读取与保存。

2010-05-06

硬盘分区魔术师9.0简体中文版

一套磁盘管理软件,是目前为止最好用的磁盘管理工具之一,能够优化磁盘使应用程序和系统速度变得更快,不损失磁盘数据下调整分区大小,对磁盘进行分区,并可以在不同的分区以及分区之间进行大小调整、移动、隐藏、合并、删除、格式化、搬移分区等操作,可复制整个硬盘资料到分区,恢复丢失或者删除的分区和数据,无需恢复受到破坏的系统就可磁盘数据恢复或拷贝到其他磁盘。能够管理安装多操作系统,方便的转换系统分区格式,也有备份数据的功能,支持 Vista 系统下操作。

2010-04-21

24点游戏 (c/c++)

struct nod { struct nod *left,*right; unsigned char operatie; union { double valoare; CString *valoarestr;}; } ; typedef nod NOD; typedef nod *arbore; arbore CloneTree(void); int UpdateArbore(void); arbore GetArbore(); int Value(double & valoare); // 得到表达式的值 int ChangeExpression(CString& expresie); // 改变表达 virtual void Serialize(CArchive& ar); CExpression(); CExpression(CMapVariabile * vars); virtual ~CExpression();

2010-04-01

栈 计算器(c++源码)

/*栈-计算器*/ #include "iostream" using namespace std; #define Max 1000 typedef struct { int a[Max]; int top; }StackNumber;

2010-04-01

CC++面试题集(微软....)

1.求下面函数的返回值(微软) int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8 思路:将x转化为2进制,看含有的1的个数。

2010-03-31

C/C++ 常见误区

不要用""代替<>来包含系统头文件,虽然有些编译器允许你这样做,但它不符合C/C++标准。 错误的示例:#include "stdio.h",#include "iostream"。[antigloss注:<> 用于包含标准头文件和系统头文件,"" 用于包含自定义头文件。标准似乎没有明确规定不准用 "" 包含标准头文件和系统头文件。使用 "" 包含标准头文件或者系统头文件只能说是一种不良风格。]

2010-03-31

空空如也

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

TA关注的人

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