自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (5)
  • 收藏
  • 关注

原创 求子数组的最大和

#include using namespace std;//////////////////////////////////////////////////////////////////////////// 题目:输入一个整形数组,数组里有正数也有负数。// 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。// 求所有子数组的和的最大值。要求时间复杂度为O(n)。

2015-12-24 14:53:02 404

原创 将二叉树按中序遍历转换成双向链表

#include "BSTree.h"//将二叉树按中序遍历转换成双向链表(只调整指针的指向)templateBSTreeNode* BSTree2DoubleList(BSTreeNode* pRoot){ BSTreeNode* pNode = pRoot; BSTreeNode* pHeadNode = NULL; BSTreeNode* pPrevNode = NULL;

2015-12-24 12:41:43 1262

原创 二叉树基本操作递归和非递归方法

#ifndef _BSTREE_H_#define _BSTREE_H_#include #include #include using namespace std;//二叉树节点类型定义templateclass BSTreeNode{public: BSTreeNode(const T& data, BSTreeNode* pLeft = NULL, BSTreeNod

2015-12-24 11:50:03 537

转载 多线程、并发及线程的基础问题

1. Java 中能创建 volatile 数组吗?能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护作用了。

2015-12-16 15:40:11 5025

原创 开源代码资源列表

图形图像相关

2014-09-12 14:39:34 650

转载 从10G个数中找到中数

在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。不妨假设10G个整数是64bit的。2G内存可以存放256M个64bit整数。我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。如果中数

2014-09-02 10:50:07 670

转载 统计论坛在线人数分布

求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。一天总共有 3600*24 = 86400秒。定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。然

2014-09-02 10:48:34 1336

原创 包含min函数的栈

定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。#ifndef _CSTACK_WITH_MIN_#define _CSTACK_WITH_MIN_#define MAX_STACKSIZE 10template class CStackWithMin{public: CStackWithMin(

2013-04-12 10:51:26 540

转载 生产者消费者完整代码

#include #include #include using namespace std;#define SIZE_OF_BUFFER 10 //缓冲区长度unsigned short ProductID = 0; //产品号unsigned short ConsumeID = 0; //将被消耗的产品号unsigned short index_in = 0; /

2013-01-11 15:53:00 640

原创 获得时间服务器的时间

// SyncTimeTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include "DateTime.h"FILE* g_logfile = stdout;const char* szTimeServer[] = { "time-a.timefreq.bldrdoc.gov", "tim

2013-01-10 15:34:12 885

原创 一组关于日期计算的代码

DateTime.h#ifndef _DATE_TIME_H_#define _DATE_TIME_H_#ifdef __cplusplusextern "C" {#endif#define YES 1#define NO 0 typedef struct _DateTime{ unsigned short wSecond; /* The current se

2013-01-10 15:16:30 809

转载 简单的加密Crypt 类

(Crypt.h)#ifndef _CRYPT_H_#define _CRYPT_H_#include class CCrypt{public : static BOOL Encrypt (BYTE *source, BYTE *destination, DWORD length) ; static BOOL Decrypt (BYTE *source, BYTE *de

2012-12-13 11:01:42 788

转载 内存池实现

头文件 MemoryPool.h:#ifndef _MEMORY_POOL_H_#define _MEMORY_POOL_H_#ifndef NULL#define NULL 0#endiftypedef unsigned char Uint8;typedef unsigned short Uint16;typedef unsigned long Uint32;str

2012-12-11 14:48:35 674 1

转载 Linux C语言 内存越界问题总结

内存越界问题是项目开发中比较难解决的问题,下面就简单的描述下内存越界的种类、现象及引起的原因。 首先要明白进程地址空间的分配如下图: 如果进程是多线程的,则每个线程都会在用户的栈区开辟一个自己的栈。 了解的上述分布图,知道每个变量、每块内存在系统中的布局,很容易区分一个 地址是否为有效地址,一个变量或者内存的数据被破坏了可以大致判断出是那个变量或者内存使用越界了。

2012-12-10 17:55:46 5608

转载 内存越界的概念和调试方法

调试了两天,搞定了项目里一个内存越界的bug,于是记录一下,备查。所谓内存越界(Heap Corruption),就是指当内存输入超出了预分配的空间大小,就会覆盖该空间之后的一段存储区域,导致系统异常。越界访问是非常常见的一种黑客手段。内存越界通常有如下的表现:1 程序出现异常 异常的现象有很多,如:代码突然跑到不相干的地方去执行,访问异常,正常的变量操作也报错…

2012-12-10 15:36:14 2488

转载 如何用栈实现递归与非递归的转换

一.为什么要学习递归与非递归的转换的实现方法?   1)并不是每一门语言都支持递归的.   2)有助于理解递归的本质.   3)有助于理解栈,树等数据结构.二.递归与非递归转换的原理.   递归与非递归的转换基于以下的原理:所有的递归程序都可以用树结构表示出来.需要说明的是,这个"原理"并没有经过严格的数学证明,只是我的一个猜想,不过在至少在我遇到的例子中是适用的.

2012-12-07 19:27:59 908 1

转载 这个只有两行的C程序至少有80%的人会判断错,不信的就进来!

char *ptr = "csdn"; printf( "%c\n",*(ptr++)); int i = 10; i << 1; i>>5; printf( "%d\n", i);

2012-12-07 19:22:16 536

转载 arm堆栈的增长方式

堆栈是一种数据结构,按先进后出(First In Last Out,FILO)的方式工作,使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶。当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(Full Stack),而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack)。同时,根据堆栈的生成方式,又可以分为递增堆栈(Ascending Sta

2012-12-07 19:18:30 1160 1

转载 获得堆栈增长方向的一种方法

在阅读wget源代码的过程中,发现一个用C语言实现,获得堆栈增长方向的巧妙方法 wget版本为1.11.4 函数位置: $ pwd/home/c-aries/source/wget-1.11.4/src$ grep -n "^find_stack_direction" alloca.c 119:find_stack_direction ()$实现代码

2012-12-07 17:39:19 580

转载 堆与栈

堆(heap)和栈(stack)有什么区别?? 简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。  预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放

2012-12-07 17:21:19 422

转载 如何判断栈的增长方向?

对于一个用惯了i386系列机器的人来说,这似乎是一个无聊的问题,因为栈就是从高地址向低地址增长。不过,显然这不是这个问题的目的,既然把这个问题拿出来,问的就不只是i386系列的机器,跨硬件平台是这个问题的首先要考虑到的因素。在一个物质极大丰富的年代,除非无路可退,否则我们坚决不会使用汇编去解决问题,而对于这种有系统编程味道的问题,C是一个不错的选择。那接下来的问题就是如何用C去解决这个问题

2012-12-07 17:18:27 474

hdtunepro_v4.60H

HD Tune款小巧易用的硬盘工具软件,其主要功能有硬盘传输速率检测,健康状态检测,温度检测及磁盘表面扫描等,而且还适用U盘、SD卡、TF卡的检测。

2013-01-11

Windows CE Remote Process Explorer

如果你想监控CE下每个进程、线程的CPU使用率,或者想知道每个线程被什么模块什么时刻创建、线程当前的调用栈,或者想知道应用程序运行一段时间后进程堆的使用情况、内存碎片的分布,等等,这个工具都能给你直观的答案。

2012-12-10

随机点屏程序

本程序可以自动的随机模拟点击屏幕的动作,可作为应用程序点击的压力测试工具.

2012-12-10

Wince内存和CPU使用率查看工具

用来查看Wince设备的内存和CPU使用率的工具

2012-12-10

CrashFinder2.5

程序在非调试状态下崩溃后,可以通过程序崩溃时提示的错误地址来找到出错行的调试工具。

2012-12-10

空空如也

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

TA关注的人

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