2012-08-24 03:24
⁄ 工业·编程
⁄ 共 599字
(1)在MFC中,文档类负责管理数据,提供保存和加载数据的功能;视类负责数据的显示,以及给用户提供对数据的编辑和修改功能。
(2)MFC给我们提供Document/View结构,将一个应用程序所需要的“数据处理与显示”的函数空壳都设计好了,这些函数都是虚函数,我们可以在派生类中重写这些函数。
(3)有关文件读写的操作在CDocument的Serialize函数中进行;有关数据和图形显示的操作在CView的OnDraw函数中进行。
(4)我们在其派生类...
MFC阅读全文
2012-08-23 23:57
⁄ 工业·编程
⁄ 共 2327字
求数组中第K大的数可以基于快排序思想,步骤如下: 1、随机选择一个支点
2、将比支点大的数,放到数组左边;将比支点小的数放到数组右边;将支点放到中间(属于左部分)
3、设左部分的长度为L,
当K < L时,递归地在左...
算法阅读全文
2012-08-23 23:55
⁄ 工业·编程
⁄ 共 7202字
单链表的快排序和数组的快排序基本思想相同,同样是基于划分,但是又有很大的不同:单链表不支持基于下标的访问。故书中把待排序的链表拆分为2个子链表。为了简单起见,选择链表的第一个节点作为基准,然后进行比较,比基准小得节点放入左面的子链表,比基准大的放入右边的子链表。在对待排序链表扫描一遍之后,左边子链表的节点值都小于基准的值,右边子链表的值都大于基准的值,然后把基准插入到链表中,...
算法阅读全文
2012-08-23 23:46
⁄ 工业·编程
⁄ 共 4000字
堆排序(Heap Sort)只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。
(1)基本概念 a)堆:设有n个元素的序列: {k1, k2, ..., kn}
对所有的i=1,2,...,(int)(n/2),当满足下面关系: ...
算法阅读全文
2012-08-23 23:45
⁄ 工业·编程
⁄ 共 2114字
贪心方法:总是对当前的问题作最好的选择,也就是局部寻优。最后得到整体最优。 应用:1:该问题可以通过“局部寻优”逐步过渡到“整体最优”,这是贪心选择性质与“动态规划”的主要差别。
2:最优子结构性质:某个问题的整体最优解包含了“子”问题的最优解。
完整的代码如下:
#include "iostream" using namespace std; struct goodinfo { float p; //物品效益 ...
算法阅读全文
2012-08-23 23:43
⁄ 工业·编程
⁄ 共 2283字
全排列在很多程序都有应用,是一个很常见的算法,常规的算法是一种递归的算法,这种算法的得到基于以下的分析思路。 给定一个具有n个元素的集合(n>=1),要求输出这个集合中元素的所有可能的排列。
一、递归实现
例如,如果集合是{a,b,c},那么这个集合中元素的所有排列是{(a,b,c),(a,c...
算法阅读全文
2012-08-23 23:40
⁄ 工业·编程
⁄ 共 913字
第一种是类成员中有成员是类对象,并且该成员的类含有默认构造函数,那么C++编译器会帮你给这个类也生成一个默认构造函数,用来调用其成员对象的构造函数,完成该成员的初始化构造。需要强调的是,如果这个成员的类也没有给出默认构造函数,那么C++编译器也不会帮你生成该类的默认构造函数。
第二种情况是这个类的基类有默认构造函数。...
c++阅读全文
2012-08-23 23:38
⁄ 工业·编程
⁄ 共 1708字
问题:有一个大小为n的数组A[0,1,2,…,n-1],求其中第k大的数。
该问题是一个经典的问题,在《算法导论》中被作为单独的一节提出,而且其解决方法很好的利用了分治的思想,将时间复杂度控制在了O(n),这多少出乎我们的意料,此处暂且不表。
该问题还可以变形为:有一个大小为 n的数组A[0,1,2,…,n-1],求其中前k大的数。
一字之差,原问题是“第k大”,变形的问题是“前k大”,但是平均时间复杂度却都可以控制在O(n),这不由得让人暗...
算法阅读全文
2012-08-23 23:37
⁄ 工业·编程
⁄ 共 1458字
方法一:
#include "stdio.h" #include "stdlib.h" //初始化最大值为a[0],次大值为a[1],遍历一次,每次比较并更新最大值和次大值,最后就可以得到次大值。 int findsecondmaxvalue(int *a,int size) { int i,max,s_max; max=a[0]; //最大值 s_max=a[1]; //次大值 &...
算法阅读全文
2012-08-23 23:10
⁄ 工业·编程
⁄ 共 1128字
将窗体置顶的方法有:
//将窗体置顶的API函数 ::SetWindowPos(m_hWndTop,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE); //MFC pDlg->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
说明: &CWnd::wndTopMost 是当前的最顶层窗口,调用函数,会把m_hWndTop或pDlg 置于&CWnd::wndTopMost上面自然就变成了最顶层 &CWnd::wndTopMost 是个静态成员变量 不知是本主程序的还...
UI界面阅读全文