- 博客(6)
- 收藏
- 关注
原创 二分查找算法
理解: 假设在有序的100个数中找到某一个数字a,那么就先找到中间值mid,如果a>mid,那就缩小一般的范围,在mid到100中查找这个数字,计算新的mid=(min+100)/2,如果这个值还大于mid,那就再缩小一般的范围,设置最小范围为mid,继续查找,每次查找都将查找范围分割(缩小)一半,所以叫二分查找法,如图所示,在100的范围内查找20,不断将中间值与15进行比较来缩小范围:实现代码
2017-05-15 18:43:19
258
原创 直接插入排序法C#实现
理解: 直接插入排序法,假设数组arr[n],先选取arr[1],将arr[1]保存为temp,再将arr[1]与arr[0]比较,如果arr[1]小于它前面的arr[0],则将arr[0]的值右移至arr[1]的位置,即把arr[i]与arr[i-1]作比较,如果arr[i]小于arr[i-1],则将arr[i-1]及其之前的值右移,直到arr[i]大于或等于arr[i-1]为止,这时再将arr
2017-05-14 21:39:29
899
原创 选择排序法C#实现
理解:选择排序每次都从数组的无序起始位置选择第一个元素与后面的元素相比较,选出最小的元素放在这个位置上,然后再选择下一个元素与其后面的元素相比较再选出最小元素放在此位置上,每次选择比较都会产生一次交换和有序的最小元素,原理图如下: 实现代码如下:static void Main(string[] args) { int[] arr = new int[10]
2017-05-14 20:25:36
1889
原创 冒泡排序法C#实现
理解: 假设有5个气泡,每进行一次遍历,就从最低端开始两两比较,将较大的气泡冒到上面的位置,有n个气泡就进行n-1次比较,下图是冒泡排序的工作原理:代码如下:static void BubbleSort(int[] arr) { for (int i = 0; i < arr.Length-1; i++) {
2017-05-14 17:27:10
636
原创 C#学习笔记-事件
事件 事件基于委托,为委托提供了一种发布/订阅机制,触发事件的类叫做发布者,而关心该事件有没有发生,并等候通知的类叫订阅者,而在中间又可以定义一个订阅系统,用来集中处理订阅者对事件的订阅和取消。using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Thre
2017-02-13 12:02:09
223
原创 C#学习笔记-委托
一、什么是委托? 在生活中委托就是委托别人来帮你做事,在C#中呢就是你来委托别人做事,所以你自己就要先定义一个委托:public delegate void BuyDrumstick();可以看到委托有访问修饰符,返回类型,它的关键字是delegate 那么,我们应该怎么来使用委托呢? 请看下面的例子using System;namespace MyDelegate { //声
2017-02-12 18:17:55
244
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人