![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
被杜撰的风
学生一枚
展开
-
冒泡排序法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 · 609 阅读 · 0 评论 -
选择排序法C#实现
理解:选择排序每次都从数组的无序起始位置选择第一个元素与后面的元素相比较,选出最小的元素放在这个位置上,然后再选择下一个元素与其后面的元素相比较再选出最小元素放在此位置上,每次选择比较都会产生一次交换和有序的最小元素,原理图如下: 实现代码如下:static void Main(string[] args) { int[] arr = new int[10]原创 2017-05-14 20:25:36 · 1865 阅读 · 0 评论 -
直接插入排序法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 · 889 阅读 · 0 评论 -
二分查找算法
理解: 假设在有序的100个数中找到某一个数字a,那么就先找到中间值mid,如果a>mid,那就缩小一般的范围,在mid到100中查找这个数字,计算新的mid=(min+100)/2,如果这个值还大于mid,那就再缩小一般的范围,设置最小范围为mid,继续查找,每次查找都将查找范围分割(缩小)一半,所以叫二分查找法,如图所示,在100的范围内查找20,不断将中间值与15进行比较来缩小范围:实现代码原创 2017-05-15 18:43:19 · 233 阅读 · 0 评论