摘要: 归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为: 1)划分子表 2)合并半子表/// <summary> /// 归并排序之归:归并排序入口 /// Updated by Lihua at 05/06/2009 /// </summary> /// <param name="data">无序数组</param> /// <returns>有序数组</returns> /// & 阅读全文
posted @ 2011-12-30 11:05 yanghongbo 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 希尔排序是插入排序的一种,时间性能优于直接插入排序,是一种不稳定的排序,时间复杂度为 O(nlogn)。序列分割方法:将相隔某个增量 h 的元素构成一个子序列。在排序过程中,逐次减小这个增量,最后当h减到1时,进行一次插入排序,排序就完成。public class ShellSort { public static void Sort(int[] array) { int increment = array.Length; do { increment = increment / 3 + 1; // 设置增量 Sort(array, increment); } while (increment 阅读全文
posted @ 2011-12-30 10:30 yanghongbo 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 循环数组,通过比较前一个与后一个数的大小,将小的前移,不断地将小的数向前冒;例子:class B_冒泡算法_BubbleSort { static void Main() { List<int> myList = new List<int> { 15, 6, 22, 18, 9, 8, 22, 999, 33, 49, 17, 66, 77, 55 }; Console.WriteLine("排序前的数据"); for (int i = 0; i < myList.Count; i++) { Console.Write(myList[i] + 阅读全文
posted @ 2011-12-13 14:52 yanghongbo 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 思想:找一个参照数,将小于该数的放到左边,大于该数的放到右边,分成两部分,然后每部分再不断地递归,直到排好序。网上的例子:class 二分法 { static void Main(string[] args) { int[] a = { 1, 6, 4, 3, 8, 5, 21, 9, 31, 81, 101, 55, 62, 151, 7, 2, 10 }; quicksort(a, 0, a.Length - 1); for (int i = 0; i < a.Length; i++) { Console.WriteLine(a[i]); } Console.Read(); } st 阅读全文
posted @ 2011-12-13 14:34 yanghongbo 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一、概念:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。二、例子代码:classProgram{staticvoidMain(string[] args){intobj = 2;Test<int> test =newTest<int>(obj);Console.WriteLine("int:"+ test.obj);stringobj2 ="hello world";Test<string> test1 =newTest<string>(obj2); 阅读全文
posted @ 2011-12-13 10:44 yanghongbo 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 一、集合:http://www.cnblogs.com/wf225/archive/2008/01/14/1037788.html二、泛型:http://www.cnblogs.com/jimmyzhang/archive/2008/12/17/1356727.htmlhttp://www.cnblogs.com/hjf1223/archive/2005/08/25/222970.htmlhttp://www.cnblogs.com/thcjp/archive/2006/08/27/487550.html 阅读全文
posted @ 2011-12-13 00:49 yanghongbo 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 一、.NET 定义 1、百度百科:.NET 是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。一个.net应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。 2、C#高级编程:.NET 提供了一种环境。在这个环境中,可以开发在Windows 上运行的几乎所有应用程序,而C# 是专门用于.NET Framework的编程语言。 二、.NET 框架组成:通用语言运行时CLR(Common Language Runtime) 和 框架类库FCL. 阅读全文
posted @ 2011-12-05 12:37 yanghongbo 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一、说明:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。二、概念:1)对象:对象是 阅读全文
posted @ 2011-11-29 10:10 yanghongbo 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1、http://baike.baidu.com/view/249254.htm2、http://baike.baidu.com/view/2814288.htm3、http://baike.baidu.com/view/125370.htm4、http://www.cnblogs.com/wenwei/archive/2011/10/14/2212440.html5、面向对象与面向过程的区别http://blog.sina.com.cn/s/blog_4d1f40c00100mcpw.html 阅读全文
posted @ 2011-11-28 23:33 yanghongbo 阅读(123) 评论(0) 推荐(0) 编辑