11 2011 档案

摘要:/************************************************************************//*栈的push、pop 序列题目:输入两个整数序列。其中一个序列表示栈的push 顺序,判断另一个序列有没有可能是对应的pop 顺序。为了简单起见,我们假设push 序列的任意两个整数都是不相等的。比如输入的push 序列是1、2、3、4、5,那么4、5、3、2、1 就有可能是一个pop 系列。因为可以有如下的push 和pop 序列:push 1,push 2,push 3,push 4,pop,push 5,pop,pop,pop,pop,这 阅读全文
posted @ 2011-11-24 11:14 refazy 阅读(2104) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//*在从1 到n 的正数中1 出现的次数题目:输入一个整数n,求从1 到n 这n 个整数的十进制表示中1 出现的次数。例如输入12,从1 到12 这些整数中包含1 的数字有1,10,11 和12,1 一共出现了5 次。*//************************************************************************/#include <iostream>using namespace 阅读全文
posted @ 2011-11-23 16:44 refazy 阅读(273) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//*整数的二进制表示中1 的个数题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2*//************************************************************************/#include <iostream>using namespace std;int NumberOfOne(int n)//算法原理:十进 阅读全文
posted @ 2011-11-23 16:01 refazy 阅读(257) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//*跳台阶问题题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级。求总共有多少总跳法,并分析算法的时间复杂度。思路:其实就是一个Fibonacci数列求解f(n)=f(n-1)+f(n-2);n>2;本题的时间复杂度为O(n)*//************************************************************************/#include <iostream>us 阅读全文
posted @ 2011-11-23 15:14 refazy 阅读(424) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/metasearch/article/details/4428865 阅读全文
posted @ 2011-11-23 14:54 refazy 阅读(170) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 左旋转字符串题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef 左旋转2 位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n 的字符串操作的复杂度为O(n),辅助内存为O(1)。 *//*****************************... 阅读全文
posted @ 2011-11-23 14:28 refazy 阅读(174) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr 所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr 后,函数将返回9,outputstr 所指的值为123456789*//********* 阅读全文
posted @ 2011-11-22 16:39 refazy 阅读(1584) 评论(0) 推荐(0) 编辑
摘要://链表反转http://www.2cto.com/kf/201110/106607.html//链表合并#include <iostream>using namespace std;struct LinkList{ int value; LinkList* next;};void CreatLinkList(LinkList* &head){ int n; if (!head) { cout<<"input nodes"<<endl; cin>>n; head=new LinkList; head->next= 阅读全文
posted @ 2011-11-22 14:20 refazy 阅读(258) 评论(0) 推荐(0) 编辑
摘要:关于memset的用法,常用于对于较大的结构体或数组进行清零操作//注意,是清零操作,如果进行统一赋值,要谨慎。void *memset( void *dest, int c, size_t count );函数将dest所指向的内存块全部以字节为单位,用c进行填充,函数第三个参数指定内存块的大小。char a[20];memset(a,0,sizeof(a)); 上述代码将a中的字符全部以0填充。对于清零初始化,一般不用出现错误使用,但是在一些统一赋初值的运算中,就有可能会出现下述错误情况。int a[5]; memset(a,1,sizeof(a));//这里改成memset(a,1... 阅读全文
posted @ 2011-11-21 15:17 refazy 阅读(662) 评论(0) 推荐(0) 编辑
摘要:#include <iostream>using namespace std;int length;void PrintSolution(int *flag){ for (int i=0;i<length;i++) { if (flag[i]==1) { cout<<i+1<<" "; } } cout<<endl;}void BagProblem(int m,int n, int *flag){ if (n<1||m<1) return; if (m<n) n=m; if (n==m) { flag[ 阅读全文
posted @ 2011-11-21 14:34 refazy 阅读(2168) 评论(0) 推荐(0) 编辑
摘要:在对话框程序中,可能会因为贴了背景图而导致有些控件背景不对,需要设置透明的问题,解决办法:1:在OnCtlColor中设置控件透明。加上以下代码switch(pWnd->GetDlgCtrlID()) { default: pDC->SetBkMode(TRANSPARENT); return (HBRUSH)GetStockObject(NULL_BRUSH); break; }2:经过第一步处理,如静态文本等控件已经可以实现透明,但对于按钮等窗体控件,就需要进行自绘实现透明了,可以自己写代码进行自绘,也可以直接利用已有... 阅读全文
posted @ 2011-11-09 11:15 refazy 阅读(3105) 评论(0) 推荐(0) 编辑
摘要:详细教程可参考http://www.vckbase.com/document/viewdoc/?id=518以下只讲述最简单的使用方法。注:下载下来的CButtonST类可能会有编译错误,主要是VC6.0中局部变量定义问题,一个一个改就是了1:头文件中#include "BtnST.h"2:按钮关联一个CButtonST类型的变量CButtonST m_btn;3: 在OnInitDialog中设置图标,图标格式为.ico文件;有两种函数可以调用 m_btn.SetIcon(IDI_ICON1);//设置按钮图标,m_btn.SetIcon(IDI_ICON1,IDI_IC 阅读全文
posted @ 2011-11-09 11:02 refazy 阅读(3626) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。 其实就是写一个atoi函数 未考虑整数溢出情况 *//************************************************************************/#inc... 阅读全文
posted @ 2011-11-08 15:20 refazy 阅读(2381) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 定义Fibonacci 数列如下: / 0 n=0 f(n) = 1 n=1 \ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n 项。 递归方法重复计算了很多项,通过定义两个额外空间保存前两项的值,可以空间换取时间。复杂度为O(N)同... 阅读全文
posted @ 2011-11-08 14:28 refazy 阅读(2432) 评论(1) 推荐(0) 编辑
摘要:/************************************************************************//* n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始,每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。求出在这个圆圈中剩下的最后一个数字。 约瑟夫环? *//***********************... 阅读全文
posted @ 2011-11-08 13:27 refazy 阅读(1174) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b 如果从头遍历,与后面字符进行比较出现次数是否为1,算法复杂度为O(n^2),考虑以空间换时间,因为一个字符占8位。因此可用一个256位数组保存每个字符出现的次数*//*********************************... 阅读全文
posted @ 2011-11-08 10:26 refazy 阅读(5085) 评论(6) 推荐(0) 编辑
摘要:/************************************************************************//* 题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。 例如输入8/ \6 10/\ /\5 7 9 11输出8 6 10 5 7 9 11。 思路: 广度优先遍历 deque(STL)*//************************************************************************/#include <iostream>#i... 阅读全文
posted @ 2011-11-08 09:53 refazy 阅读(427) 评论(0) 推荐(0) 编辑
摘要:在分析开源代码Notepad++ 1.0版本时,在vs2008中对源码进行编译,出现error C2440: “=”: 无法从“const char (*__w64 )[17]”转换为“char *”错误,void Notepad_plus::setLangStatus(LangType langType){ char *pStr; switch (langType) { case L_C: pStr = &("c source file"); break; case L_H: pStr = &("c or c++ header file" 阅读全文
posted @ 2011-11-07 15:26 refazy 阅读(7036) 评论(0) 推荐(0) 编辑
摘要:如截图所示,输入一对数组元素下标,如果此对数组元素相等,则翻牌成功,显示数据11.05,改版做了一个对话框应用,如下,基本思想与控制台程序一致#include <iostream>#include <ctime>using namespace std;class Game{public: void initial(); void start(); void print(); void printall(); void getPairNum(); private: int game[4][4];//保存随机生成的16个数字 bool checked[4][4];//标记该 阅读全文
posted @ 2011-11-04 16:44 refazy 阅读(393) 评论(0) 推荐(0) 编辑
摘要:OnDraw&OnPaint 学习中遇到一个问题,OnDraw与OnPaint有什么区别?上网搜索了一下,又查了一下MSDN和MFC的一些源文件,现整理如下。OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图的OnPaint 处理函数通过创建CPaintDC类的DC对象来响应 阅读全文
posted @ 2011-11-04 11:02 refazy 阅读(3875) 评论(0) 推荐(0) 编辑
摘要:1 #include <iostream> 2 using namespace std; 3 4 void fun1(int p[]) 5 { 6 7 } 8 9 void fun2(int* p)10 {11 12 }13 14 void fun3(int p[8])//即使a[10]作为参数传递进来,也不会编译出错,因为传递进来的实际上只是a;15 {16 17 }18 19 void fun4(int (&p)[10])20 {21 22 }23 int main()24 {25 int a[10]={1,5};26 fun1(a);27 fun2(a);... 阅读全文
posted @ 2011-11-04 10:04 refazy 阅读(3481) 评论(0) 推荐(1) 编辑
摘要:第15 题:题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。例如输入:8/ \6 10/\ /\5 7 9 11输出:8/ \10 6/\ /\11 9 7 5定义二元查找树的结点为:struct BSTreeNode // a node in the binary search tree (BST){ int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of node BSTreeNode *m_pRight; // 阅读全文
posted @ 2011-11-02 14:42 refazy 阅读(636) 评论(0) 推荐(0) 编辑
摘要:1 /************************************************************************/ 2 /* 输入一个已经按升序排序过的数组和一个数字sum,在数组中查找两个数,使得它们 的和正好是输入的那个数字sum,要求时间复杂度为O(n) 3 4 解题思路:设置头尾两个指针,从第一个元素和最后一个 5 元素相加,如果大于sum,则尾指针向前移1个元素,继续判断两个数的和; 6 如果小于sum,则头指针向后移1个元素,继续判断两个数的和*/ 7 /*****************************************... 阅读全文
posted @ 2011-11-02 11:21 refazy 阅读(1798) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 题目:输入一个单向链表,输出该链表中倒数第k 个结点。链表的倒数第0 个结点为链表的尾指针。链表结点定义如下:struct ListNode{int m_nKey;ListNode* m_pNext;}; 解题思路参考http://www.diybl.com/course/3_program/c++/cppjs/20110510/555111.html*//***********************************... 阅读全文
posted @ 2011-11-02 10:57 refazy 阅读(1025) 评论(0) 推荐(0) 编辑
摘要:/************************************************************************//* 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句(A?B:C)。 利用静态变量 *//************************************************************************/... 阅读全文
posted @ 2011-11-02 09:43 refazy 阅读(2832) 评论(0) 推荐(0) 编辑