摘要: 1、二分查找(Binary Search) 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。2、二分查找的基本思想 二分查找的基本思想是:(设R[low..high]是当前的查找区间)(1)首先确定该区间的中点位置: (2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分查找,具体方法如下: ①若R[mid].key>K,则由表的有序性可知R[mid..n-1].keys均大于K,因此若表中存在关键字等于K的结点,则 阅读全文
posted @ 2011-03-05 10:50 焦涛 阅读(416) 评论(0) 推荐(1)
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;//如何运行前不知道的值传递给 CommandDelimitedFile构造器?答案:使用静态方法,与base关键字一起使用。namespace InitialConstruct{ class CommandDelimitedFile { public CommandDelimitedFile(string fileName) { Console.WriteLine("[CommandDelimitedFile." 阅读全文
posted @ 2011-03-04 22:34 焦涛 阅读(253) 评论(0) 推荐(0)
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace InitialConstruct{ class BaseClass { public BaseClass() { Console.WriteLine("[BaseClass.BaseClass] " + "Construct called"); } public BaseClass(int foo) { Console.WriteLine("[BaseClass. 阅读全文
posted @ 2011-03-04 21:45 焦涛 阅读(371) 评论(0) 推荐(0)
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;//构造器初始化//1.派生类构造器调用基类构造器(除System.Object构造器外,所有C#对象都在执行构造器的第一行代码之前调用基类构造器)//2.初始化器的两种形式:// (1)base() 调用当前类的基类构造器// (2)this() 可以让当前类调用自身中定义的另一个构造器namespace InitialConstruct{ class BaseClass { public BaseClass() { Consol 阅读全文
posted @ 2011-03-04 20:55 焦涛 阅读(251) 评论(0) 推荐(0)
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;//静态成员//1.只存在此成员的一个副本//2.当包含在这个类的应用程序被装载时,才创建静态成员//3.在应用程序的整个生存周期内存一直存在。//4.是值类型:静态成员必须有合法的值namespace StaticMember{ class InstCount { public InstCount() { instanceCount++; } static public int instanceCount; } class Pro 阅读全文
posted @ 2011-03-04 19:43 焦涛 阅读(154) 评论(0) 推荐(0)
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;//静态构造器//1.只能有一个静态构造器//2.静态构造器上不允许使用public和private等修饰符//3.静态构造函数必须无参数//4.可以提供一个具有与静态构造器相同的原型的非静态构造器,先调用静态版本//5.在访问类的任何静态成员(函数或数据)之前执行静态构造器namespace StaticConstructor{ class SomeClass { public static int x; public int y 阅读全文
posted @ 2011-03-02 22:45 焦涛 阅读(487) 评论(0) 推荐(0)
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;//1.静态方法可以访问类中的所有静态成员,但不能访问实例成员//2.非静态方法可以访问静态成员和非静态成员//3.在构造器中只能对非静态成员使用this关键字namespace StaticMethod{ class SQLServerDb { static string progressString1="starting repair..."; string progressString2="... 阅读全文
posted @ 2011-03-02 22:13 焦涛 阅读(208) 评论(0) 推荐(0)
摘要: 转自:http://www.cnblogs.com/yuyijq/archive/2011/02/24/1963326.html在上一篇文章中我们围观了传统的异步编程,感受到了异步编程不是简单的事情。传统的异步方式将本来紧凑的代码都分成两部分,不仅仅降低了代码的可读性,还让一些基本的程序构造无法使用,所以大部分开发人员在遇到应该使用异步的地方都忍痛割爱。本来我在本篇文章中想讨论一下.NET世界中已有的几个辅助异步开发的类库,但是经过思考后觉得在这之前介绍一下一些理论知识也许对理解后面的类库以及更新的内容有所帮助。今天我们要讨论的是Continuation Passing Style,简称CPS 阅读全文
posted @ 2011-02-28 15:54 焦涛 阅读(255) 评论(0) 推荐(0)
摘要: 转自:http://www.cnblogs.com/yuyijq/archive/2011/02/22/1960273.html在上一篇文章中,我们从构建响应灵敏的界面以及构建高可伸缩性的服务应用来讨论我们为什么需要异步编程,异步编程能给我们带来哪些好处。那么知道了好处,我们就开始吧,但是在异步编程这个方面,说总是比做简单。套用那句不是名言的名言:编写异步程序是困难的,编写可靠的异步程序尤其困难。因为异步程序非常难以编写,而且非常容易出错,很多基本的构造元素在异步编程中都无法使用,这让我们这些开发人员更愿意编写同步的代码,虽然我们知道有些地方真的应该使用异步。如何实现异步对于很多人来说,异步. 阅读全文
posted @ 2011-02-28 15:53 焦涛 阅读(215) 评论(0) 推荐(0)
摘要: 转自:http://www.cnblogs.com/yuyijq/archive/2011/02/20/1958925.html在2010年的PDC上,微软发布了Visual Studio Async CTP,大大地降低了异步编程的难度,让我们可以像写同步的方法那样去编写异步代码。Async CTP也在社区里掀起了不小的波澜。在这之后,我也学习了一段时间,这个系列会将这段时间的学习作个梳理。好了,下面进入本文的正题。为什么需要异步编程既然同步的写法更自然简单,异步的代码(传统的)不好写,还容易出错,那我们为什么需要去编写异步的代码呢?微软还要费这么大劲投入对Async CTP的开发呢?这其中. 阅读全文
posted @ 2011-02-28 15:47 焦涛 阅读(198) 评论(0) 推荐(0)