排序算法总结
摘要:1.冒泡排序 2.选择排序 3.归并排序 4.快速排序 5.插入排序
阅读全文
posted @
2012-03-23 13:56
Frank.Fan
阅读(1527)
推荐(0) 编辑
插入排序
摘要:一、基本思想 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。 插入排序非常类似于整扑克牌。 在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。 如果输入数组已经是排好序的话,插入排序出现...
阅读全文
posted @
2012-03-23 13:52
Frank.Fan
阅读(33843)
推荐(2) 编辑
Quick Sort 快速排序
摘要:一、基本思想 通过使用一个基准值将列表分为2个子列表,具体的过程是: 将基准值放在正确的位置上,在一个子列表中放入小于基准值的元素,另一个子列表中放入大于基准值的元素。 这就是快速排序(Quick Sort)的思想。 快排算法提供了目前已知最快的排序技术,除了某些极其特殊的情况下之外,快速排序徐几乎适用于所有场合。 二、算法描述 快速排序使用一系列递归调用将列表分为若干越来越小的子列表...
阅读全文
posted @
2012-03-23 13:45
Frank.Fan
阅读(910)
推荐(0) 编辑
Merge Sort 归并排序
摘要:一、基本思想 归并排序是建立在归并操作上的一种有效的排序算法。 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将一个数组分为越来越小的子列表,每个子列表单独进行排序,然后合并形成更大的有序列表。 通过归并子列表元素来合并子列表就是归并排序(Merge Sort) 二、算法描述 1. 将一个列表分割成2个子列表 2. 第1个列表调用索引[first,...
阅读全文
posted @
2012-03-23 13:41
Frank.Fan
阅读(622)
推荐(0) 编辑
选择排序
摘要:一、基本思想 选择排序首先遍历列表,并且将最小的元素与第一个元素进行比较,随后遍历剩余的元素并将次小的元素与第二个元素进行比较,依次类推。 二、算法描述 选择排序算法从索引0处开始确定列表中最小元素的位置,并交换这个最小元素与arr[0]中元素的位置,该步骤会将最小的元素放在arr[0]中,列表中其他元素则保持无序状态; 1. 排序处理继续前进至索引1,并且确定子列表arr[1]…arr[...
阅读全文
posted @
2012-03-23 13:24
Frank.Fan
阅读(514)
推荐(0) 编辑
Bubble Sort 冒泡排序
摘要:一、基本思想冒泡排序的基本概念是依次比较相邻的两个元数,将小的数放在前面,大的数放在后面。即在第一趟排序中,首先比较第1个数和第2个数,将小数放前,大树放后;然后比较第2个数和第3个数,将小数放前,大数放后。以此类推,如此继续,直到比较最后两个数,将小数放前,大数放后。至此,第一趟排序结束,将最大的数放到了最后!第二趟:仍从第一对数开始比较,将小数放前,大数放后,一直比到倒数第2个数(倒数第1个数已经是最大的了),第二趟结束,倒数第2的位置上得到一个新的最大数。以此类推,重复以上过程,直至最终完成排序。由于排序过程中总是小数往前放,大数往后放,类似于气泡上升,所以成为冒泡排序。二、示例代码 .
阅读全文
posted @
2012-03-23 10:54
Frank.Fan
阅读(612)
推荐(0) 编辑
在项目中使用log4net记录日志
摘要:一、准备工作 log4net源码一份,或者生成的log4net.dll文件一份 数据库中新建一张表,就叫LogCenter吧。 配置文件一份。 记录日志的方法一份。 二、开工-- log4net.dll log4net官方网站:http://logging.apache.org/log4net/ 编译好的 log4net.dll 文件,猛击这里下载! 将...
阅读全文
posted @
2012-03-22 11:28
Frank.Fan
阅读(1021)
推荐(0) 编辑
利用文件头判断文件类型
摘要:上传文件时经常需要做文件类型判断,例如图片、文档等,普通做法是直接判断文件后缀名,而文艺青年为了防止各种攻击同时也会加上使用文件头信息判断文件类型。 原理很简单:用文件头判断,直接读取文件的前2个字节即可。 Demo using System; using System.IO; names...
阅读全文
posted @
2012-03-21 11:49
Frank.Fan
阅读(9794)
推荐(0) 编辑
C# 关键字params、ref 和 out
摘要:一、params1. 用params修饰的参数,参数列表是可变的。字面意思比较难懂,所以看示例很有用。class Program{ staticvoid Main(string[] args) { // 一般做法是先构造一个对象数组,然后将此数组作为方法的参数 object[] arr =newobject[3]{100,'a',"keywords"}; UseParams(arr); // 而使用了params修饰方法参数后,我们可以直接使用一组对象作为参数 // 当然这组参数需要符合调用的方法对参数的要求 UseParams(100,'a'
阅读全文
posted @
2012-03-21 11:07
Frank.Fan
阅读(333)
推荐(0) 编辑
VS2010 常用快捷键总结
摘要:0. 转到定义 F12 回到定义 ctrl + -1. 选择行 Shift + 方向键2. 选择列 Shift + Alt + 方向键 3. 注释 Ctrl + K 、 Ctrl + C 或者 Ctrl + E 、 Ctrl + C4. 取消注释 Ctrl + K 、 Ctrl ...
阅读全文
posted @
2012-03-11 13:27
Frank.Fan
阅读(694)
推荐(0) 编辑