![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++和vc
文章平均质量分 80
fenggaoyuehei
这个作者很懒,什么都没留下…
展开
-
高级排序
<br />二、高级排序算法:<br />高级排序算法中我们将只介绍这一种,同时也是目前我所知道(我看过的资料中)的最快的。它的工作看起来仍然象一个二叉树。首先我们选择一个中间值middle程序中我们使用数组中间值,然后把比它小的放在左边,大的放在右边(具体的实现是从两边找,找到一对后交换)。然后对两边分别使用这个过程(最容易的方法——递归)。<br /><br />1.快速排序:<br />#include <iostream.h><br /><br />void run(int* pData,int l转载 2010-11-25 13:40:00 · 520 阅读 · 0 评论 -
其它排序
<br />1.双向冒泡:<br />通常的冒泡是单向的,而这里是双向的,也就是说还要进行反向的工作。<br />代码看起来复杂,仔细理一下就明白了,是一个来回震荡的方式。<br />写这段代码的作者认为这样可以在冒泡的基础上减少一些交换(我不这么认为,也许我错了)。<br />反正我认为这是一段有趣的代码,值得一看。<br />#include <iostream.h><br />void Bubble2Sort(int* pData,int Count)<br />{<br /> int iTem转载 2010-11-25 13:42:00 · 566 阅读 · 0 评论 -
二分图的最大匹配匈牙利算法和最小支配集
<br />求二分图最大匹配(指派问题)的匈牙利算法: <br />谈匈牙利算法自然避不开Hall定理,即是:对于二部图G,存在一个匹配M, <br />使得X的所有顶点关于M饱和的充要条件是:对于X的任意一个子集A,和A邻接的点集为T(A),恒有: |T(A)| > = |A| <br />匈牙利算法是基于Hall定理中充分性证明的思想,其基本步骤为: <br />1.任给初始匹配M; <br />2.若X已饱和则结束,否则进行第3步; <br />3.在X中找到一个非饱和转载 2010-11-25 13:30:00 · 3591 阅读 · 0 评论 -
排序系列(一)
<br />1.冒泡法:<br />这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:<br />#include <iostream.h><br /><br />void BubbleSort(int* pData,int Count)<br />{<br /> int iTemp;<br /> for(int i=1;i<Count;i++)<br /> {<br /> for(int j=Count-1;j>=i;j--)<br />转载 2010-11-25 13:34:00 · 529 阅读 · 0 评论 -
排序系列(三)
<br />3.选择法:<br />现在我们终于可以看到一点希望:选择法,这种方法提高了一点性能(某些情况下)这种方法类似我们人为的排序习惯:从数据中选择最小的同第一个值交换,在从省下的部分中选择最小的与第二个交换,这样往复下去。<br />#include <iostream.h><br />void SelectSort(int* pData,int Count)<br />{<br /> int iTemp;<br /> int iPos;<br /> for(int i=0;i<C转载 2010-11-25 13:36:00 · 460 阅读 · 0 评论 -
数字图像的直方图均衡化(C/C++源代码)
<br />数字图像的直方图均衡化是常用的图像增强方法,因为均衡化是自动完成的,无需人工干预,而且常常得到比较满意的结果。下面的程序是利用OPENCV提供的函数,实现这个功能。需要OPENCV B4.0的支持,在VC6下编译通过。<br />//<br />// perform histgram equalization for single channel image<br />// AssureDigit Sample code<br />//<br /><br />#include "cv.h"<br转载 2010-11-25 16:43:00 · 1668 阅读 · 0 评论 -
排序系列(四)
<br />4.插入法:<br />插入法较为复杂,它的基本工作原理是抽出牌,在前面的牌中寻找相应的位置插入,然后继续下一张<br />#include <iostream.h><br />void InsertSort(int* pData,int Count)<br />{<br /> int iTemp;<br /> int iPos;<br /> for(int i=1;i<Count;i++)<br /> {<br /> iTemp = pData[i];<b转载 2010-11-25 13:39:00 · 522 阅读 · 0 评论