C# 二分法查找和排序
2016-09-22 21:03
459 查看
using System; using System.Collections.Generic; using System.Text; namespace AAA { public class Dichotomy { public static void DichotomySort(int[] array) { for (int i = 0; i < array.Length; i++) { int start = 0; int end = i - 1; int middle = 0; int temp = array[i]; while (start <= end) { middle = (start + end) / 2; if (array[middle] > temp)//要排序元素在已经排过序的数组左边 { end = middle - 1; } else { start = middle + 1; } } for (int j = i - 1; j > end; j--)//找到了要插入的位置,然后将这个位置以后的所有元素向后移动 { array[j + 1] = array[j]; } array[end + 1] = temp; } } public static long DichotomySearch(long[] array, long key, long high, long low) { long middle = 0; if (high < low) { return -1; } middle = (low + high) / 2; if (array[middle] == key) { return middle; } else if (array[middle] > key) { return DichotomySearch(array, key, middle - 1, low); } else { return DichotomySearch(array, key,high, middle + 1); } } } } |
相关文章推荐
- WPF教程(五) XAML是什么?
- 【C#】无损转换Image为Icon
- C#编程基础(一)
- 关于C#子窗体的Show方法和ShowDialog方法的一些体会
- 多阈值处理利用双Otsu阈值-C#实现-基于EmguCv
- 文字打字机效果
- C# $字符串
- C#面向对象_封装_160922
- C#操作注册表
- C#中Split用法(可以用在取小数点之前后之后)
- winform TabControl 添加关闭按钮 Add close button to TabControl TabPages - C#
- 追着嘟嘟学c#系列基础第十二篇-----c#递归【蓝鸥出品】
- C#程序如何获得系统权限
- Kinect Fusion Basics-WPF C# Sample代码解析
- C#之WinForm基础 画扇形时,出现的从X轴到扇形的第一条边沿顺时针方向的角怎么理解
- C#之WinForm基础 画一个矩形与扇形
- C# XML文件操作类XmlHelper类的完整代码
- c# 添加图片水印,可以指定水印位置+生成缩略图
- C#实现根据IP 查找真实地址
- C#--BackgroundWorker使用心得