随笔分类 - C#
二分查找法 Binary Search
摘要:在对线性表的操作中,经常需要查找某一个元素在线性表中的位置。此问题的输入是待查元素x和线性表L,输出为x在L中的位置或者x不在L中的信息。比较自然的想法是一个一个地扫描L的所有元素,直到找到x为止。这种方法对于有n个元素的线性表在最坏情况下需要n次比较。一般来说,如果没有其他的附加信息,在有n个元素的线性表中查找一个元素在最坏情况下都需要n次比较。下面我们考虑一种简单的情况。假设该线性表已经排好序...
阅读全文
简单的Delegate(委托)例子 【转】
摘要:今天学习一下好久都不愿意碰的Delegate,虽然不是很明白,还是写了一个小例子(参考园子里的朋友们的),希望加深一下印象.朋友们说它类似于C++的函数指针,指向一个函数,运行的时候可以调用这个函数.步骤: 1. 声明一个delegate对象。 2. 实现和delegate具有相同参数和返回值的函数实现(可以是静态和非静态的)。 3. 产生一个delegate对象的时候,把你刚刚实现的函数作为参数...
阅读全文
链表和数组的区别 各有什么优缺点
摘要:1)数组在内存中是逐个存放的,也就是说倘若数组的第一个元素在地址A,则数组第二个元素就在地址A+1。而链表则不是,链表每个节点没有相对固定的位置关系。某个节点在地址A其后的节点不一定是A+1,而在内存的其他空闲区域,呈现一种随机的状态。2)数组一旦显式的被申明后,其大小就固定了,不能动态进行扩充。而链表则可以,可以动态生成节点并且添加到已有的链表后面。3)链表灵活,但是空间和时间额外耗费较大;数组...
阅读全文
产生一个int数组,长度为10,并向其中随机插入1-10,并且不能重复
摘要:产生一个int数组,长度为10,并向其中随机插入1-10,并且不能重复[代码]
阅读全文
c#排序算法——选择排序
摘要:与冒泡排序相比,选择排序的平均时间复杂度比冒泡排序稍高。基本思想:每一趟从待排序的元素中选出最小(或者最大)的一个元素顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法,N个记录的文件的直接选择排序可经过N-1趟直接选择排序得到有序结果。示例如下:定义数组a[]={13,4,8,2,11,67,0}第一趟:a[]={0,4,8,2,11,67,13}第二趟: a...
阅读全文
c#排序算法——插入排序(直接插入排序和希尔排序)
摘要:(1)直接插入排序其基本思想是:一个有序区和一个无序区,每次扫描扩大有序区,将无序区的数据不断的加入到有序区中。 例如:49、38、65、97、76、13、27 第一趟排序:[13]、49、38、65、97、76、27 第二趟排序:[13、27]、49、38、65、97、76 第三趟排序:[13、27、38]、49、65、97、76 第。。。。。 直接插入排序是稳定的排序,直接插入排序,设置监哨,...
阅读全文
Creating a horizontal menu
摘要:Use float with a list of hyperlinks to create a horizontal menu. CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Link oneLink twoLink threeLink...
阅读全文
C#多线程学习(一) 多线程的相关概念
摘要:http://www.cnblogs.com/HappyQQ/archive/2008/08/16/1269327.html 什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函...
阅读全文
【转】详解C#委托,事件与回调函数
摘要:.Net编程中最经常用的元素,事件必然是其中之一。无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等。“protected void Page_Load(object sender, EventArgs e)”这段代码相信没有人不熟悉的。细心一点一定会发现,非常多的事件方法都是带了“object sender, EventArgs e”这...
阅读全文
【转】详解C#委托,事件与回调函数
摘要:.Net编程中最经常用的元素,事件必然是其中之一。无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等。“protected void Page_Load(object sender, EventArgs e)”这段代码相信没有人不熟悉的。细心一点一定会发现,非常多的事件方法都是带了“object sender, EventArgs e”这...
阅读全文
C# 冒泡排序!
摘要:写了一个关于冒泡的算法。 static void Main(string[] args) ...{ Console.Write("please input the number of variable:"); int num =Int32.Parse( Console.ReadLine()); int...
阅读全文
【转】C# 递归算法!
摘要:首先碰到的是这样的一首题目:计算数组{1,1,2,3,5,8.......} 第30位值,不用递归,我写出了以下这样的代码: static void Main(string[] args) ...{ int[] num=new int[30]; num[0]=1; num[1]=1; ...
阅读全文
[转]对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会
摘要:Finalize 和Dispose(bool disposing)和 Dispose() 的相同点: 这三者都是为了释放非托管资源服务的. Finalize 和 Dispose() 和Dispose(bool disposing)的不同点: Finalize是CRL提供的一个机制, 它保证如果一个类实现了Finalize方法,那么当该类对象被垃圾回收时,垃圾回收器会调用Finalize方法...
阅读全文
C#反射实例讲解
摘要:1 创建用于反射使用的DLL 新建一个C#类库项目,拷贝源代码如下,编译生成DLL(假如DLL的文件名是TestReflect.dll) 1using System; 2 3namespace Webtest 4{ 5 /**//// 6 /// ReflectTest 的摘要说明。 7 /// 8 public class ReflectTest 9 {10 public Reflect...
阅读全文
C# 集合类 :(Array、 Arraylist、List、Hashtable、Dictionary、Stack、Queue)
摘要:C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue 1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小, 但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的 2.数组要声明元素的类型,集合类的元素类型却是...
阅读全文
C#“装箱”(boxing)与“拆箱”(unboxing)
摘要:装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,就是创建一个object实例并将这个值复制给这个object,装箱后的object对象中的数据位于堆中,堆中的地址在栈中。被装箱的类型的值是作为一个拷贝赋...
阅读全文
ASP.NET 2.0 之 Master Page 学习(2)
摘要:1. 页面请求的次序 当用户请求一个用 Master Page 构建的页面时,各种事件发生的次序如下: Master Page 子控件初始化; 内容页面子控件初始化; Master Page 初始化; 内容页面初始化; 内容页面 Page_Load; Master Page 的 Page_Load; Master Page 子控件加载; 内容...
阅读全文
ASP.NET 2.0 之 Master Page 学习(1)
摘要:如何使用 MasterPage 1. 创建 MasterPage,后缀名 .master, 如 x.master. 其中用 定义空位。如: 2. 创建内容页面。 在 NewItem 对话框里选择 "select master page", 选择上一步创建的 MasterPage. 产生的代码里, MasterPageFile 属性指定了 MasterPage 的位...
阅读全文
Web user controls 和 Web custom controls
摘要:Introduction 如果在现有的Asp.net Server controls里面没有一款符合你程序需求的,那么你可以选择使用 Web User Controls 或者 Web Custom Controls来建立一个新的符合你程序功能需求的控件。这两种Controls之间的主要区别就是前者易于创建,后者易于设计时使用。 Web User Controls vs. Web Custom...
阅读全文
c# 中关于static 变量和构造函数的几个测试
摘要:例子1: CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> #region//类A B中都含有static变量 构造函数 class A { public static int X; static A(...
阅读全文
浙公网安备 33010602011771号