自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

strivingboy专栏

奋斗的小孩

  • 博客(32)
  • 资源 (13)
  • 收藏
  • 关注

原创 如何将一个值(如,一个数字)转换为 std::string

[15.12] 如何将一个值(如,一个数字)转换为 std::string? 有两种方法:可以使用工具或库。通常,你应该使用库。   库允许你使用如下的语法(转换一个double的示例,但你可以替换美妙的多的任何使用#include #include #include std::string convertToString(double x){   std::

2012-02-14 12:32:34 5421

原创 MFC中自定义消息

【转】MFC中用户自定义类响应自定义消息  2009-08-13 17:15:11|  分类: MFC学习 |  标签: |字号大中小 订阅 这篇技术文章不是讨论经典的MFC中的消息工作机理的,讨论消息工作原理、方式和路径的文章在网上和书本中随处可见。网上众多

2011-09-15 20:10:31 39711 6

原创 关于GDI

<br />图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视讯显示器和打印机上显示图形。正如您所认为的那样,GDI是Windows非常重要的部分。不只您为Windows编写的应用系统在显示视觉信息时使用GDI,就连Windows本身也使用GDI来显示使用者接口对象,诸如菜单、滚动条、图标和鼠标光标。<br />GDI原理<br /><br />Windows 98和Microsoft Windows NT中的图形主要由GDI32.DLL动态链接库

2011-05-29 21:08:00 1014

原创 Windows中的printf、sprintf....总结

<br />在Windows中使用printf 有文字模式、命令列C语言程序写作历史的程序写作者往往特别喜欢printf函数。即使可以使用更简单的命令(例如puts),但printf出现在Kernighan和Ritchie的「hello, world」程序中一点也不会令人惊奇。我们知道,增强后的「hello, world」最终还是需要printf的格式化输出,因此我们最好从头开始就使用它。 但有个坏消息:在Windows程序中不能使用printf。虽然Windows程序中可以使用大多数C的执行时期链接库-实

2011-05-26 22:49:00 4862

原创 C 语言里面的多态

<br />#if 1<br />//一C语言中使用宏来实现多态性<br />#include <stdio.h><br />#define MAX(a, b)  (((a) > (b)) ? (a) : (b))<br />int main()<br />{<br /> int res1;<br /> double res2;<br /> res1 = MAX(5, 9);<br /> res2 = MAX(5.6, 4.99);<br /> printf("The max of 5 and 9 is :

2011-05-25 22:53:00 632

原创 Windows程序的运行原理基础

<br />关于API <br />   应用程序中要完成某个功能,都是以函数调用的形式实现的,同样,应用程序也是以函数调用的方式来通知操作系统执行相应的功能的。操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API。如CreateW

2011-05-25 13:40:00 604

原创 日期加减运算符重载C++修改

<br />#include <iostream><br />#include <string><br />#include <math.h><br />using namespace std;<br />class CDate<br />{<br /> friend ostream &operator<<(ostream &os, const CDate &other);<br />public:<br /> CDate(int y = 0, int m = 0, int d = 0)<br /> {<b

2011-05-25 13:10:00 4897 2

原创 年份的加减运算符重载C++Code

<br />#include <iostream><br />#include <string><br />#include <math.h><br />using namespace std;<br />class CDate<br />{<br /> friend ostream &operator<<(ostream &os, const CDate &other);<br />public:<br /> CDate(int y = 0, int m = 0, int d = 0)<br /> {<b

2011-05-24 23:17:00 817

原创 C++写的集合的交叉并

<br />#include <iostream><br />#include <stdlib.h><br />#include <memory.h><br />using namespace std;<br />class Set<br />{<br /> friend void InsertSort(int *array1, int len);<br /> friend void MergePlus(int *array1, const int *arrA,const int *arrB,<br /> 

2011-05-24 23:15:00 734

原创 C++写的集合的交叉并

<br />#include <iostream><br />#include <stdlib.h><br />#include <memory.h><br />using namespace std;<br />class Set<br />{<br /> friend void InsertSort(int *array1, int len);<br /> friend void MergePlus(int *array1, const int *arrA,const int *arrB,<br /> 

2011-05-24 23:15:00 1075

原创 C++写的集合的交叉并

<br />#include <iostream><br />#include <stdlib.h><br />#include <memory.h><br />using namespace std;<br />class Set<br />{<br /> friend void InsertSort(int *array1, int len);<br /> friend void MergePlus(int *array1, const int *arrA,const int *arrB,<br /> 

2011-05-23 22:54:00 841

原创 八皇后问题源码

<br />#include <stdio.h><br />static char Quence[8][8];<br />static int Columms[8]; <br />static int main_diagonal[15];<br />static int second_diagonal[15];<br />static int iQuence_num = 0;<br /><br />void solve_quence(int i, int num); //i表示行<br />void Pri

2011-05-18 22:43:00 554

原创 堆和栈的区别

<br />堆和栈的区别:<br />(1)申请方式:<br />stack:空间由系统自动分配,而heap需要程序员自己申请,并指明其大小。<br />(2)申请后系统的响应<br />stack:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常<br />提示栈溢出。<br />heap:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的<br />申请时, 会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该<br />结点从空闲结点链表中删除,并将该结点的空

2011-05-15 22:43:00 454

原创 一道组合数问题

<br />#include <stdio.h><br />void CombNumber(int a[], int m, int n, int h, int *count);<br />int main()<br />{<br /> int m, n;<br /> int count = 0;<br /> static int Res[100];<br /> printf("Please input the number m and n :/n");<br /> scanf("%d%d", &m, &n)

2011-05-15 22:05:00 521

原创 MFC状态栏的编程(以显示系统当前时间为例)

<br />首先:在Resourse 选项卡上面的String Table 中添加:窗格如:IDS_TIMER 时钟<br />其次:在MainFrame APP 文件中加入标识<br /> 如:<br />static UINT indicators[] =<br />{<br /> ID_SEPARATOR,           // status line indicator<br />// ID_INDICATOR_CAPS,<br />// ID_INDICATOR_NUM,<br />// ID

2011-05-15 21:41:00 950

原创 给MFC应用程序添加背景音乐

<br />1、MessageBeep<br />MessageBeep函数主要用来播放系统报警声音。系统报警声音是由用户在控制面板中的声音(Sounds)程序中定义的,或者在WIN.INI的[sounds]段中指定。<br />  该函数的声明为:  BOOL MessageBeep(UINT uType);<br />  参数uType说明了告警级:<br />-1从机器的扬声器中发出蜂鸣声。<br />MB_ICONASTERISK  播放由SystemAsterisk定义的声音。<br />MB_I

2011-05-13 22:39:00 13517

原创 全排列问题

<br />#include <stdio.h><br />void CombNumber(int a[], int m, int n, int h, int *count);<br />int main()<br />{<br /> int m, n;<br /> int count = 0;<br /> static int Res[100];<br /> printf("Please input the number m and n :/n");<br /> scanf("%d%d", &m, &n)

2011-05-11 22:41:00 617

原创 基于单文档应用程序背景的修改

<br />重写虚函数:OnEraseBkgnd(CDC *pDC)<br /> <br />BOOL CCodeCaculatorView::OnEraseBkgnd(CDC* pDC)<br />{<br /> // TODO: Add your message handler code here and/or call default<br /> CBitmap bitmap;<br /> bitmap.LoadBitmapW(IDB_BLACK);//加载位图<br /> BITMAP bmp;<b

2011-05-10 22:31:00 605

原创 VS2008/VS2010 MFC项目添加启动画面的添加

<br />给VS2008/VS2010 MFC项目添加启动画面<br />在VC6.0时代,我们通过在MFC工程中插入Splash组件来简单方便的实现这个功能,但在VS2008以后就没有了这个功能,所以如果想给自己的程序添加一个显示Logo的启动画面,就需要自己添加代码来实现,参考了下VC6.0中这个Splash组件添加后的代码,就很容易在自己的项目里实现这个功能。如下图。<br /><br /> <br /> <br /> <br />首先,在菜单的“项目”中选择“类向导”,生成一个启动画面的Splas

2011-05-09 22:25:00 2161 1

原创 给VC基于单文档应用程序添加动画图标

<br />1.在MainFrame框架类头文件中添加: HICON m_hIcons[6];<br />2.在MainFrame::OnCreate()函数中添加如下代码:<br />SetWindowLong(m_hWnd,GWL_STYLE,GetWindowLong(m_hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX &~WS_MINIMIZEBOX);//修改窗口最大最小化的按钮<br /> m_hIcons[0]=LoadIcon(AfxGetInstanceHandle()

2011-05-07 12:30:00 1104

原创 腾讯实习的面试经历

<br />十九号和舍友来到西安,准备晚上七点参见腾讯公司在西安电子科技大学的宣讲会,来到西电新校区,在附近找了个休息地方,七点来到西电的图书馆发现没一点貌似要开宣讲会的场面,一问知道宣讲会是在西电老校区,汗….刚过去也来不急了,于是就联系了西安的几个同学玩了个通宵,呵呵...疯狂吧。第二天就来到了西交大,同样也是七点的宣讲会,听完宣讲会,一个感觉:西电、交大等名校的学生就是牛B,貌似自己没戏了,心情一个字:沉重。<br />         等了两天即四月二十三号,腾讯西安区的笔试时间到了,在网上查了一下

2011-04-29 08:44:00 1209

原创 一道关于孩子分糖的问题!!循环链表实现

<br />#include <stdio.h><br />#include <malloc.h><br />#include <stdlib.h><br />typedef struct CNODE<br />{<br /> int data;<br /> struct CNODE *next;<br />}CyList;<br />#define  SIZE_OF_NODE sizeof(struct CNODE)<br />void Init_clist(CyList **List);<br />vo

2011-04-13 12:20:00 520

原创 一道关于孩子分糖的问题!!循环链表实现

<br />#include <stdio.h><br />#include <malloc.h><br />#include <stdlib.h><br />typedef struct CNODE<br />{<br /> int data;<br /> struct CNODE *next;<br />}CyList;<br />#define  SIZE_OF_NODE sizeof(struct CNODE)<br />void Init_clist(CyList **List);<br />vo

2011-04-13 12:20:00 441

原创 一道算法题

35.求一个矩阵中最大的二维矩阵(元素和最大).如:1 2 0 3 42 3 4 5 11 1 5 3 0中最大的是:4 55 3要求:(1)写出算法;(2)分析时间复杂度;

2011-03-21 22:40:00 445

原创 打印一个字符串中字符的所有组合

用递归实现的字符串的组合

2011-03-19 22:12:00 772

原创 链式队列基本操作总结

链式队列的基本操作

2011-03-18 10:55:00 950

原创 微软面试100系列 第32题

有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。例如: var a=[100,99,98,1,2, 3];var b=[1, 2, 3, 4,5,40];求解思路: 当前数组a和数组b的和之差为 A = sum(a) - sum(b) a的第i个元素和b的第j个元素交换后,a和b的和之差为 A' = sum(a) - a[i] + b[j] - (

2011-03-18 10:41:00 425

原创 微软等面试100题系列 29题解答 望各位同行指导

29.栈的push、pop序列题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。如果我们希望pop的数字正好是栈顶数字,直接pop出栈即可;如果希望pop的数字目前不在栈顶,我们就到push序列中还没有被push到栈里的数字中去搜索这个数字,并把在它之前的所有数字都push进栈。如果所有的数字都被push进栈仍然没有找到这个数字,表明该序列不可能是一个pop序列。//////////////////////////

2011-03-16 12:42:00 481

原创 双向链表边的基本操作

#include #include #include typedef struct _DLNODE{ int data; struct _DLNODE *pre; struct _DLNODE *next;}DLinkList;#define SIZE sizeof(struct _DLNODE)void Init_DLinkList(DLinkList **DL);DLinkList *Create_DLinkList(DLinkList *DL);void Disp_DLinkList(DLinkLis

2011-03-15 12:51:00 828

原创 单链表基本操作总结

<br />#include <stdio.h><br />#include <malloc.h><br />#include <stdlib.h><br />typedef struct _LNODE<br />{<br /> int data;<br /> struct _LNODE *next;<br />}LinkList;<br />#define SIZE sizeof(struct _LNODE)<br />void Init_List(LinkList **L);<br />LinkList

2011-03-14 22:16:00 537

原创 很好的指针例子

指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址,如果想明白可以输出观察cout

2010-08-11 18:02:00 512

原创 排序方法汇总

/*  Date: 11-02-10 17:40  Description: 排序方法 */#include #include #define TRUE 1#define FALSE 0typedef int KeyType;typedef int OtherType;typedef struct{ KeyType key; OtherType other_data;}RecordType;void  InsSort(RecordType  r[],  int length);void  BinSort (

2010-08-11 15:40:00 551

牛叉公司面试题集之C和C++版本

很全的公司面试题汇总!!看了一下哈挺好的,就和大家分享一下!!

2011-05-12

一个组合数问题(递归完成)

组合数问题,递归解决,主要和大家分享一下解决类似问题的思想。

2011-05-11

腾讯实习生的面试经历

腾讯实习生的面试经历!!和大家分享一下!!

2011-04-28

单向链表 操作 经典

本程序采用指向指针的指针来完成单链表的各种操作 插入、删除、逆转、按地址排序、递归的归并算法

2011-04-03

求一矩阵中子矩阵的最大和

35. 求一个矩阵中最大的二维矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是: 4 5 5 3 要求:(1)写出算法;(2)分析时间复杂度;

2011-03-21

输出一个字符串的所有排列

用递归写的字符串的所有排列,回答一下好友的一个问题!!

2011-03-19

队列的基本操作 源码

本源代码给出了队列的基本操作,希望很大家分享一下!!

2011-03-18

微软面试100系列 第32题解答

有两个序列a,b,大小都为n,序列元素的值任意整数,无序; 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。 例如: var a=[100,99,98,1,2, 3]; var b=[1, 2, 3, 4,5,40]; 求解思路: 当前数组a和数组b的和之差为 A = sum(a) - sum(b) a的第i个元素和b的第j个元素交换后,a和b的和之差为 A' = sum(a) - a[i] + b[j] - (sum(b) - b[j] + a[i]) = sum(a) - sum(b) - 2 (a[i] - b[j]) = A - 2 (a[i] - b[j]) 设x = a[i] - b[j] |A| - |A'| = |A| - |A-2x| 假设A > 0, 当x 在 (0,A)之间时,做这样的交换才能使得交换后的a和b的和之差变小, x越接近A/2效果越好, 如果找不到在(0,A)之间的x,则当前的a和b就是答案。 所以算法大概如下: 在a和b中寻找使得x在(0,A)之间并且最接近A/2的i和j,交换相应的i和j元素, 重新计算A后,重复前面的步骤直至找不到(0,A)之间的x为止。 ///////////////////////////////////////// 算法 1. 将两序列合并为一个序列,并排序,为序列Source 2. 拿出最大元素Big,次大的元素Small 3. 在余下的序列S[:-2]进行平分,得到序列max,min 4. 将Small加到max序列,将Big加大min序列,重新计算新序列和,和大的为max,小的为min。 ////////////////////////////////////////////////

2011-03-18

微软等面试100题系列 29题

微软等面试100题系列 29.栈的push、pop序列 题目:输入两个整数序列。其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序。

2011-03-16

双向链表 基本操作 完整

很实用的关于双向链表的基本操作!!源代码和大家分享一下!!

2011-03-06

单链表 基本操作 经典

所有关于单链表的基本操作,齐全,实用!!

2011-03-06

二叉树 基本操作 递归完成

二叉树的基本操作,递归完成的,希望和大家分享!!

2011-03-04

C 语言写的螺旋队列

螺旋队列是一个很有意思的数字排列: 如: 73 74 75 76 77 78 79 80 81 72 43 44 45 46 47 48 49 50 71 42 21 22 23 24 25 26 51 70 41 20 7 8 9 10 27 52 69 40 19 6 1 2 11 28 53 68 39 18 5 4 3 12 29 54 67 38 17 16 15 14 13 30 55 66 37 36 35 34 33 32 31 56 65 64 63 62 61 60 59 58 57 用C实现

2010-11-29

空空如也

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

TA关注的人

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