波斯码BOSSMA Information Technology

DOTNET 下的日志

C#排序算法之希尔排序(shellsort)

发布时间:2010年9月10日 / 分类:DOTNET / 抢沙发

希尔排序(shellsort)又叫增量递减(diminishing increment)排序,是对直接插入排序的优化,由D.L. Shell发明,这个算法是通过一个逐渐减小的增量使一个数组逐渐趋近于有序从而达到排序的目的。 希尔排序对数据进行分组,每个分组进行直接插入排序。 增量是每个分组中紧挨着的前...

多线程面试问题:顺序输出多个ABC序列

发布时间:2010年9月10日 / 分类:DOTNET / 抢沙发

多线程面试问题:顺序输出多个ABC序列,不使用Sleep。本来多线程是用来更高效的利用CPU的时间,所以执行的顺序是不太好控制的。这里不对这个问题的意义进行评述,说一下解决方案。参考了java的解决方案,主要方法就是指定下一个输出的字符,然后再输出的方法里边判断是不是当前...

C#排序算法之鸡尾酒排序

发布时间:2010年9月9日 / 分类:DOTNET / 抢沙发

鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形), 涟漪排序, 来回排序 或者 快乐小时排序, 是冒泡排序的一种变形。此演算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。 参照百度百科,整了一个C#版本的,看下边的代码...

C#排序算法之冒泡排序、选择排序、插入排序

发布时间:2010年9月9日 / 分类:DOTNET / 抢沙发

这篇文章介绍C#实现的几种最简单的排序方法:冒泡排序、选择排序、插入排序,并简单测试了一下性能。排序在编程中占有很重要的位置,一定程度上体现了编程的功底。虽然学习过一段时间,感觉这东西总是记不住,时间长了就忘了或者搞混了。搞混了问题还不大,忘了就比较严重了。 ...

C#中的常量:const和readonly

发布时间:2010年9月5日 / 分类:DOTNET / 抢沙发

C#中的常量有两种: const readonly const在声明的时候就需要赋值,否则编译出错。 readonly可以不赋值,赋值的话只能在声明时(可以是静态变量或者常量),或者构造函数中赋值(可以是变量或者常量)。 看下边的例子:  public class Class1  ...

c#匹配括号对的算法

发布时间:2010年6月29日 / 分类:DOTNET / 抢沙发

这个东西本来是用于解析sql语句的,写出来之后感觉很多地方都可能用到,可能不是很符合你的要求,使用的时候需要注意。 这个方法用于匹配成对出现的括号,获取括号中的内容。 //获取配对括号中的内容 public List GetBracketList(string strIn)...

树形结构获取每一个节点的级次

发布时间:2010年5月15日 / 分类:DOTNET / 抢沙发

有时候需要获取树形结构每一个节点的级次,以方便处理,最近也处理了一些这方面的问题,这里提供两个方法:使用SQLServer自定义函数和在C#中递归处理。 1、SQLServer 自定义函数 例子表结构 create table tb(id varchar(3) , pid varchar(3) , n...

多级子项目(任务)计算项目进度的方法

发布时间:2010年5月15日 / 分类:DOTNET, WinForm / 抢沙发

现实中遇到这样一个问题:有一个项目,下边有多级任务,我们想获取项目和每一级任务的进度。很多人第一反应就是使用递归,这里先不着急探讨好不好实现。我们先来构建一个例子: 一个项目,有很多子项目(或任务),每个子项目下的子项目数和级次都是不固定的,实际的操作中,我...

c#使用开源项目[SharpZipLib]解压缩

发布时间:2009年2月14日 / 分类:ASP.NET, DOTNET / 抢沙发

一直还在使用.net2.0,虽然也有一个解压缩的类,但是好像并不怎么受欢迎。 令人高兴的是我们还可以选择别的:SharpZipLib。 我从网上找了一些代码,有些做了修改,已经测试可以使用。 解压缩操作类: using System; using System.Collections.G...

C#线性表的顺序存储结构

发布时间:2008年7月28日 / 分类:DOTNET / 抢沙发

模仿Java线性表的顺序存储结构。 Main Functions:IsEmpty,IsFull,Get Length,Get Item,Set Item,Is Contains,Get Value,Index,Insert,Remove public class LinerList     {         private int[] _lists;         private int _length; ...