12 2009 档案
摘要:希尔排序是一种插入排序法,它出自D.L.Shell,因此而得名。Shell排序又称作缩小增量排序。 基本思想: 不断把待排序的对象分成若干个小组,对同一小组内的对象采用直接插入法排序,当完成了所有对象都分在一个组内的排序后,排序过程结束。每次比较指定间距的两个数据项,若左边的值小于右边的值,则交换它们的位置。间距d按给定公式减少: di+1=(di +1)/2,直到d等于1为止。D可以选取{9,5,3,2,1}。using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Insertion{ ...
阅读全文
摘要:插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Insertion{ /// <summary> /// 插入排序(Insertion So
阅读全文
摘要:转载请保持文章原出处http://www.colobu.com6.VsVimhttp://blogs.msdn.com/jaredpar/archive/2009/09/09/vim-emulator-editor-extension-released.aspx你是一个VIM的狂热分子吗?网络不乏这些忠实的信众,如迷春哥狂热的坚持使用vim做自己的开发。这个插件为VS提供了一个VIM模拟器。你可以使用”VIM”编辑你的代码。7.VS 2008 File Finderhttp://www.huffs.us/blogEngine/page/VS-2008-File-Finder.aspx在一个包含
阅读全文
摘要:转载请保持文章原出处http://www.colobu.com1. AnkhSVN - SubversionSCC Providerhttp://ankhsvn.open.collab.net/AnkhSVN是一个VS的Subversion 源代码管理提供者。通过这个插件,你可以方便的在Visual Studio中使用Subversion管理你的项目和代码。这个项目保持着相当的活跃性。在本文发表时最新的版本是2.1.7444。强烈推荐开发者使用,尤其是你将你的项目托管到google code或者sourceforge上,你可以使用这个插件连接你的项目。2. MetalScrollhttp://
阅读全文
摘要:前几篇文章介绍了几种交换排序的算法。冒泡排序快速排序奇偶排序鸡尾酒排序Gnome sortComb sort下面是对一个随机序列的排序效率结果:test1:quicksort time: 0.10864 msbubblesort time: 5.83652 mscocktail time: 6.13016 mscomb sort time: 1.38076 msgnome sort time: 4.38388 msodd-even sort time: 6.846 mstest2:quicksort time: 0.1225 msbubblesort time: 5.35685 mscockt
阅读全文
摘要:类别:排序-交换排序参看 维基百科的定义using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// <summary> /// <b>Comb sort</b> improves on bubble sort, and rivals algorithms like Quicksort. /// The basic idea is to eliminate turtles, or small values near the end of t
阅读全文
摘要:类别:排序-交换排序参看 维基百科的定义Gnome sort is a sorting algorithm which is similar to insertion sort, except that moving an element to its proper place is accomplished by a series of swaps, as in bubble sort. The name comes from the supposed behavior of the Dutch garden gnome in sorting a line of flowerpots and
阅读全文
摘要:类别:排序-交换排序参看 维基百科的定义鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 or 快乐小时排序, 是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// <summary> /// <b>鸡尾酒排序</b>,也就是双向冒泡排序(bidirectional bubble s
阅读全文
摘要:类别:排序-交换排序参看 维基百科的定义using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// <summary> /// <b>奇偶排序</b>的思路是在数组中重复两趟扫描。 /// 第一趟扫描选择所有的数据项对,a[j]和a[j+1],j是奇数(j=1, 3, 5……)。 /// 如果它们的关键字的值次序颠倒,就交换它们。 /// 第二趟扫描对所有的偶数数据项进行同样的操作(j=2, 4,6……)。 /// 重复进行这样两趟的排序
阅读全文
摘要:类别:排序-交换排序参看 维基百科的定义using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// <summary> /// <b>快速排序</b>是所有排序算法中最高效的一种. /// 它采用了分治的思想:先保证列表的前半部分都小于后半部分, /// 然后分别对前半部分和后半部分排序,这样整个列表就有序了。 /// 这是一种先进的思想,也是它高效的原因。 /// 因为在排序算法中,算法的高效与否与列表中数字间的比较次数有直接的关系,
阅读全文
摘要:类别:排序-交换排序参看 维基百科的定义冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。using System;using System.Collections.Generic;namespace Com.Colobu.Algorithm.Exchange{ /// <summary> /// 冒泡排序是这样实现的: /// /// 1. ...
阅读全文
摘要:运用ACE_Thread_Manager类创建线程 创建线程需要要解决两个问题,一是调用线程函数,二是提供一个途径让线程能够访问到外部传递过来的参数。下面的代码演示了基本的用法:#include <stdexcept>#include "ace/ACE.h"#include "ace/Log_Msg.h"#include "ace/Thread_Manager.h"#include <map>#include <string>#include <iostream>using namesp
阅读全文
摘要:我原来一直使用Emacs开发Linux下的C++程序,但是自从我新买了电脑(硬件够快),我决定享受一下NetBeans带来的强大功能。有人说用Java开发的IDE来开发C++很奇怪,不过对我这种C++,Java程序都经常写的人,却没有这点门派之见。只要工具好用,不收费就可以。我真得觉得它比收费的VS.net要好。编译安装最新版本的ACE UBuntu的新立德提供的安装包总不是最新版本,太懒了。只好自己动手。首先下载最新的ACE5.7版本,然后解压为/home/chenshu/work/ACE_wrappers目录。 进入主目录:cd /home/chenshu/work/ACE_wrapper
阅读全文
摘要:1)下载www.riverace.com网站的ACE最新版本,并解压2)按照ACE-INSTALL.html中所说的在ACE_wrappersace目录下添加一个config.h文件,添加#include "ace/config-win32.h"这一行,ACE_ROOT代表ACE_wrappers目录的绝对路径3)在config.h文件中的最开头添加宏#define ACE_HAS_STANDARD_CPP_LIBRARY 1,这样就可以使用C++标准库4)然后用VC2005打开ACE_vc8.sln,编译Debug版本,编译完成后,会在ACE_wrapperslib目录下
阅读全文
浙公网安备 33010602011771号