11 2012 档案

摘要:#include <iostream>using namespace std;class A{ public: A(int *data, int len){} }; template<class T> class MaxHeap{ private: T *datas; int MaxSize; int currentSize; void KeepHeap(int root); bool del; public: MaxHeap(int MaxSize); MaxHeap(T *datas, int length); ~... 阅读全文
posted @ 2012-11-09 15:16 xingoo 阅读(288) 评论(0) 推荐(0) 编辑
摘要:语法:add(chara[],charb[],chars[]);参数:a[]: 被乘数,用字符串表示,位数不限b[]: 乘数,用字符串表示,位数不限t[]: 结果,用字符串表示返回值: null注意: 空间复杂度为o(n^2) 需要string.h源程序: #include <iostream>#include <string.h>using namespace std;void add(char a[],char b[],char back[]){ int i,j,k,up,x,y,z,l; char *c; if(strlen(a)>strlen(b)) .. 阅读全文
posted @ 2012-11-09 11:04 xingoo 阅读(354) 评论(0) 推荐(0) 编辑
摘要:问题说明: 若有一只兔子,每月生一只,一个月以后小兔子也开始生产。起初一只兔子,一个月以后两只兔子,两个月以后三只兔子,三个月后五只兔子。。算法描述: 简单的递归即可: #include <stdio.h>#include <stdlib.h>#define N 20int main(){ int Fib[N] = {0}; int i; Fib[0] = Fib[1] = 1; for(i=2;i<N;i++) Fib[i] = Fib[i-1] + Fib[i-2]; for(i=0;i<N;i++) printf("... 阅读全文
posted @ 2012-11-09 10:53 xingoo 阅读(317) 评论(0) 推荐(0) 编辑
摘要:语法:mult(chara[],charb[],chars[]);参数:a[]: 被乘数,用字符串表示,位数不限b[]: 乘数,用字符串表示,位数不限t[]: 结果,用字符串表示返回值: null注意: 空间复杂度为o(n^2) 需要string.h源程序: #include <iostream>#include <string.h>using namespace std;void mult(char a[],char b[],char s[]){ int i,j,k=0,alen,blen,sum=0,res[65][65]={0},flag=0; char resu 阅读全文
posted @ 2012-11-08 16:12 xingoo 阅读(338) 评论(0) 推荐(0) 编辑
摘要:问题描述: 给定无向图G=(V,E),其中V是非空集合,称为顶点集; E是V中元素构成的无序二元组的集合,称为边集,无向图中的边均是顶点的无序对,无序对常用圆括号“( )”表示。 如果U∈V,且对任意两个顶点u,v∈U有(u,v)∈E,则称U是G的完全子图。 G的完全子图U是G的团当且仅当U不包含在G的更大的完全子图中。G的最大团是指G中所含顶点数最多的团。 如果U∈V且对任意u,v∈U有(u,v)∈E,则称U是G的空子图。G的空子图U是G的独立集当且仅当U不包含在G的更大的空子图中。G的最大独立集是G中所含顶点数最多的独立集。 对于任一无向图G=(V,E),其补图G'=(V' 阅读全文
posted @ 2012-11-08 15:48 xingoo 阅读(3933) 评论(0) 推荐(0) 编辑
摘要:算法描述: 活结点优先队列中结点元素N的优先级由该结点的上界函数Bound计算出的值uprofit给出。 子集树中以结点N为根的子树中任一结点的价值不超过N.profit。 可用一个最大堆来实现或节点优先队列。 N.weight 是结点N所相应的重量,N.profit是N所相应的价值,N.uprofit是结点N的价值上界,最大堆以这个值作为优先级。class Object{ friend int Knapsack(int *,int *,int ,int ,int *);public: int operator <= (Object a) const { ... 阅读全文
posted @ 2012-11-07 16:38 xingoo 阅读(1156) 评论(2) 推荐(1) 编辑
摘要:语法:mult(charc[],chart[],intm);参数: c[]: 被乘数,用字符串表示,位数不限 t[]: 结果,用字符串表示 m: 乘数,限定10以内返回值: null注意: 需要string.h源程序: #include <stdio.h>#include <stdlib.h>#include <string.h>void mult(char c[],char t[],int m){ int i,l,k,flag,add=0; char s[100]; l=strlen(c); for (i=0;i<l;i++) s[l-i-1]=.. 阅读全文
posted @ 2012-11-07 10:59 xingoo 阅读(513) 评论(0) 推荐(0) 编辑
摘要:题目说明: 创世纪时,Benares有一座波罗教塔,是由三只钻石棒所支撑,开始时神在第一根棒子上放置了64个由上至下 依小到大的排列的金盘,并命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子的下面的原则。若每日仅搬一个盘子,则当盘子全数搬完时,此塔将会损毁,也就是世界末日来临之时。算法思路: 如果柱子标为ABC,要由A搬至C,在只有一个盘子时,就将它搬至C,当有两个盘子,就将它当做辅助。 如果盘子超过2个,将第三个一下的盘子遮住,就简单了。 每次处理两个盘子,也就是 A->B,A->C,B->C这三个步骤,被遮住的部分。就进入递归处理。程序代码: 阅读全文
posted @ 2012-11-06 20:16 xingoo 阅读(815) 评论(0) 推荐(0) 编辑
摘要:语法 intresult=factorial(intn);参数: n: n的阶乘返回值: 阶乘结果的位数注意: 本程序直接输出n!的结果,需要返回结果请保留longa[]inlclude <math.h>源程序: int factorial(int n){ long a[10000]; int i,j,l,c,m=0,w; a[0]=1; for(i=1;i<=n;i++) { c=0; for(j=0;j<=m;j++) { a[j]=a[j]*i+c; c=a[j]/10000; ... 阅读全文
posted @ 2012-11-06 20:00 xingoo 阅读(484) 评论(0) 推荐(0) 编辑
摘要:问题描述: 印刷电路板不限区域划分成n*m个方格阵列。如下图所示 精确的电路布线问题要求确定连接方格a的中点,到连接方格b的中点的最短布线方案。 布线时,电路只能沿直线或直角布线。为了避免线路相交,已布的线的方格做了封锁标记,其他线路不允许穿过被封锁的方格。分支限界法的解决方案: 首先,从起始位置a开始,将它作为第一个扩展结点。与该节点相邻,并且可达的方格成为可行结点被加入到活节点队列中,并且将这些方格标记为1. 即从起始方格a到这些扩展方格距离为1. 然后,从活节点队列中取出队首结点作为下一个扩展结点,并将于当前扩展结点相邻且为未标记过的方格标记为2,并存入或节点队列。 最... 阅读全文
posted @ 2012-11-06 10:41 xingoo 阅读(4969) 评论(0) 推荐(0) 编辑
摘要:使用有模式对话框时在对话框弹出后调用函数不会立即返回,而是等到对话框销毁后才会返回(请注意在对话框弹出后其他窗口的消息依然会被传递)。所以在使用对话框时其他窗口都不能接收用户输入。创建有模式对话框的方法是调用CDialog::DoModal()。下面的代码演示了这种用法:CYourView::OnOpenDlg() { CYourDlg dlg; int iRet=dlg.DoModal(); } CDialog::DoModal()的返回值为IDOK,IDCANCEL。表明操作者在对话框上选择“确认”或是“取消”。由于在对话框销毁前DoModal不会返回,所以可以使用局部变量来引用对象。在退 阅读全文
posted @ 2012-11-05 16:25 xingoo 阅读(24983) 评论(0) 推荐(2) 编辑
摘要:/*----------------------------------------- DIGCLOCK.c -- Digital Clock (c) Charles Petzold, 1998 -----------------------------------------*/ #include <windows.h>#define ID_TIMER 1LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HI... 阅读全文
posted @ 2012-11-02 21:38 xingoo 阅读(748) 评论(0) 推荐(0) 编辑
摘要:第一种方法 是把WM_TIMER消息发送给正常的窗口过程。第二种方法 是 自己让 windows把计时器消息发送给程序中的另一个窗口过程回调函数:VOID CALLBACK TimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTimer){ ....} 第一种方式调用的SetTImer函数,第四个参数一般直接为NULLSetTimer(hwnd,iTimerID,iMsecInterval,NULL);第二种方式调用的SetTimer函数,第四个参数要设定为回调函数地址SetTimer(hwnd,iTimerID,iMsecIn... 阅读全文
posted @ 2012-11-02 20:27 xingoo 阅读(388) 评论(0) 推荐(0) 编辑
摘要:Windows将WM_TIMER消息发送到应用程序的窗口过程。相应SetTimer的调用方法:SetTimer(hwnd,1,uiMsecInterval,NULL);在任何时刻停止WM_TIMER消息,方法如下:KillTimer(hwnd,1);当窗口收到WM_TIMER消息时,wParam等于计时器的ID,所以可以用如下方式:#define TIMER_SEC 1#define TIMER_MIN 2 SetTimer(hwnd,TIMER_SEC,1000,NULL);SetTimer(hwnd,TIMER_MIN,60000,NULL);case WM_TIMER: sw... 阅读全文
posted @ 2012-11-02 20:05 xingoo 阅读(369) 评论(0) 推荐(0) 编辑
摘要:基础类1、 Dinkumware C++ Library参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。2、 RogueWave Standard C++ Library参考站点:http://www.roguewave.com这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的 阅读全文
posted @ 2012-11-02 15:31 xingoo 阅读(341) 评论(0) 推荐(0) 编辑
摘要:下面是CStdioFile类的部分列表,其中使用了MFC在其类中按类成员的用法划分它们时所采用的大多数标准注释:class CStdioFile : public CFile{ DECLARE_DYNAMIC(CStdioFile)public:// Constructors CStdioFile();...// AttributesFILE* m_pStream; // stdio FILE...// Operationsvirtual void WriteString(LPCTSTR lpsz);... virtual LPTSTR ReadString(LPTSTR l... 阅读全文
posted @ 2012-11-02 10:11 xingoo 阅读(1414) 评论(0) 推荐(0) 编辑
摘要:ATOM原子(原子表中的一个字符串的参考)BOOL布尔变量BOOLEAN布尔变量BYTE字节(8位)CCHARWindows字符CHARWindows字符COLORREF红、绿、蓝(RGB)彩色值(32位)Const变量,该变量的值在执行期间保持为常量CRITICAL_SECTION临界段对象CTRYID国名标识符DLGPROC指向一个对话框过程的指针DWORD双字(32位)ENHMFENUMPROC指向一个应用程序定义的回调函数的指针,该回调函数枚举增强的元文件记录ENUMRESLANGPROC指向一个应用程序定义的回调函数的指针,该回调函数枚举资源语言。ENUMRESNAMEPROC指向一 阅读全文
posted @ 2012-11-01 15:06 xingoo 阅读(654) 评论(6) 推荐(1) 编辑

点击右上角即可分享
微信分享提示