Welcome 微信登录

首页 / 软件开发 / C#

c#冒泡、快速、选择和插入排序算法的项目应用

c#冒泡、快速、选择和插入排序算法的项目应用

c#冒泡、快速、选择和插入排序算法的项目应用2010-12-19 博客园 Jeff Wong在之前的一篇文章里,我们简单地实现了对一维数组的四种排序算法,但是 在实际的项目中,我们排序的方式可能(几乎是一定)不止仅仅按照数字排序, 我们常常按照合适的需要的排序方式进行排序,比如航班信息可能按时间排序, 商品信息可能按价格排序等等。下面改进之前的那一篇“c#实现冒泡、快 速、选择和插入排序算法”里的代码,实现可以对不同对象(实例中是C...
c#版点在面内算法

c#版点在面内算法

c#版点在面内算法2010-12-19点在面算法,就是放射线算法,原理很简单,就是把一个点向任意方向发射(本程序是向下),如果跟这个面有奇数个交点,证明点在面里面,若是偶数个,则是在外面(包括0),算法主要是优化效率。本人水平有限,算法中肯定有不足之处,请大家海涵!主要函数如下。1. struct TabPoint2.{3.private double x;4.public double X5.{6.get { return x; }7.set { x =...
C#实现A*算法

C#实现A*算法

C#实现A*算法2010-12-19在游戏中,AI的最基本问题之一就是寻路算法或称路径规划算法,在三 年前,我曾实现过 基于“图算法”的最短路径规划算法,然而在游 戏中,我们通常将地图抽象为有单元格构成的矩形,如:这个微型地图 由3*3的单元格构成,当然,实际游戏中的地图通常比它大很多,这里只是给出 一个示例。由于游戏地图通常由单元格构成,所以,基于“图算法 ”的路径规划便不再那么适用,我们需要采用基于单元格...
C#实现路径规划(最短路径)算法

C#实现路径规划(最短路径)算法

C#实现路径规划(最短路径)算法2010-12-19以前空闲的时候用C#实现的路径规划算法,今日贴它出来,看大家有没有更 好的实现方案。关于路径规划(最短路径)算法的背景知识,大家可以参考 《C++算法--图算法》一书。该图算法描述的是这样的场景:图由节点 和带有方向的边构成,每条边都有相应的权值,路径规划(最短路径)算法就是 要找出从节点A到节点B的累积权值最小的路径。首先,我们可以将 “有向边”抽象为Edge类:Code[cop...
c和c#托管与非托管代码中变量对应

c和c#托管与非托管代码中变量对应

c和c#托管与非托管代码中变量对应2010-12-25下表列出了在 Win32 API(在 Wtypes.h 中列出)和 C 样式函数中使用的数据类型。许多非托管库包含将这些数据类型作为参数传递并返回值的函数。第三列列出了在托管代码中使用的相应的 .NET Framework 内置值类型或类。某些情况下,您可以用大小相同的类型替换此表中列出的类型。Wtypes.h中的非托管类 非托管类型 托管类名 说明handlevoid*S...
C#中使用指针实现高效比较字符串的小技巧

C#中使用指针实现高效比较字符串的小技巧

C#中使用指针实现高效比较字符串的小技巧2010-12-25判断随机字符串之间的是否相等是程序设计中常用的技巧,再C++时代,我们可以通过把字符串中每四个字节转换为一个int对象,通过int对象一次比较四个字符,从而实现相对高效的字符串比较工作。那么,这个思路在C#中能否是实现呢?答案是肯定的。在C#中使用上述思想,必须要解决两个问题,其一是在C#中使用指针,并且指针指向的托管变量位置不能被GC重新分配。其二,托管字符串在内存中与int或long之间的对应...
C#中string类型赋值问题

C#中string类型赋值问题

C#中string类型赋值问题2010-12-25大家都知道,C#中的string是一个引用类型,String对象是存放在堆上,而不是堆栈上的,因此,当把一个字符串变量赋给另一个字符串时,会得到对内存中同一个字符串的两个引用。但是大家有没有想过,为什么修改其中一个字符串,另外一个不受影响呢?原来,当我们把一个字符串变量赋给另一个字符串时,就会创建一个全新的String对象,就是说这个时候就会有两个对象,比如:class StringExc{public s...
C#引用Excel找不到类型或命名空间名称“Excel”

C#引用Excel找不到类型或命名空间名称“Excel”

C#引用Excel找不到类型或命名空间名称“Excel”2010-12-25项目中遇到Excel引用的问题,已经有一个项目引用了Excel object 11.0,用得效果也很好。可是在另一个项目中想引用Excel的时候,就是不能用Excel的的命名空间,提示“ 找不到类型或命名空间名称“Excel”(是否缺少 using 指令或程序集引用?) ”。当然有同仁说过这个方法,在以下的站点下载一个补丁,然后安装就...
C#中抽象类和接口的区别

C#中抽象类和接口的区别

C#中抽象类和接口的区别2010-12-25一、抽象类:抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。二、接口:接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化;2、包含未实现的方法声明;3、派生类...
C#中调用输入输出参数的存储过程

C#中调用输入输出参数的存储过程

C#中调用输入输出参数的存储过程2010-12-25关于存储过程的介绍大家想必也不陌生了吧。大家可以参考《浅谈存储过程》一文,这里不做介绍。今天要介绍的是在C#里如何调用带输入输出参数的存储过程。譬如实现简单的登陆功能,根据用户输入的用户名、用户密码及用户权限实现登陆。这里充当输入参数的有:用户名、用户密码、登陆权限。充当输出参数的就是在数据库里面根据输入参数的信息查询中是否有记录。具体来说就是记录的行数。数据库中的存储过程构建代码:Code1use Ho...
C#实现的根据年月日计算星期几的函数

C#实现的根据年月日计算星期几的函数

C#实现的根据年月日计算星期几的函数2010-12-25算法如下:基姆拉尔森计算公式W= (d 2*m 3*(m 1)/5 y y/4-y/100 y/400) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。代码如下:Code[copy to clipboard]CODE://y-年,...
C#实现测量程序运行时间及cpu使用时间

C#实现测量程序运行时间及cpu使用时间

C#实现测量程序运行时间及cpu使用时间2010-12-25对一个服务器程序想统计每秒可以处理多少数据包,要如何做?答案是用处理数据包的总数,除以累记处理数据包用的时间。这里要指出的是, 运行一段程序,使用的cpu时间,跟实际运行的时间是不一样的。附例如下:private void ShowRunTime() { TimeSpan ts1 = Process.GetCurrentProcess().TotalProcessorTime;...
<< 151 152 153 154 155 156 157 158 159 160 >>