二分法查找,插入法查找及冒泡排序的改进
2014-12-16 16:49
232 查看
static int Binary_Search(int[] a,int x) //二分法查找
{
int low = 0;
int high = a.Length-1;
int mid = 0;
while (low<=high)
{
mid = (low + high) / 2;
if (a[mid] == x)
return mid;
else if (a[mid] < x)
low = mid + 1;
else
high = mid - 1;
}
Console.WriteLine("未找到" + x);
return -1;
}
static int Insert_Search(int[] a,int x) //插入法查找
{
int low = 0;
int high = a.Length-1;
int mid = 0;
while (low<=high)
{
mid = low + (x-a[low]) / (a[high]-a[low]) ;
if (a[mid] == x)
return mid;
else if (a[mid] < x)
low = mid + 1;
else
high = mid - 1;
}
Console.WriteLine("未找到" + x);
return -1;
}
static void Bubble_Sort(int[] a) //改进冒泡排序
{
int count = 0;
Boolean flag = true;
for (int i = 0; i < a.Length && flag; i++)
{
flag = false;
for (int j = a.Length - 2; j >= i; j--)
{
if (a[j + 1] < a[j]) //这一行是关键
{
swap(a,j + 1,j);
count++;
flag = true;
}
}
}
Console.WriteLine("交换次数=" + count);
}
{
int low = 0;
int high = a.Length-1;
int mid = 0;
while (low<=high)
{
mid = (low + high) / 2;
if (a[mid] == x)
return mid;
else if (a[mid] < x)
low = mid + 1;
else
high = mid - 1;
}
Console.WriteLine("未找到" + x);
return -1;
}
static int Insert_Search(int[] a,int x) //插入法查找
{
int low = 0;
int high = a.Length-1;
int mid = 0;
while (low<=high)
{
mid = low + (x-a[low]) / (a[high]-a[low]) ;
if (a[mid] == x)
return mid;
else if (a[mid] < x)
low = mid + 1;
else
high = mid - 1;
}
Console.WriteLine("未找到" + x);
return -1;
}
static void Bubble_Sort(int[] a) //改进冒泡排序
{
int count = 0;
Boolean flag = true;
for (int i = 0; i < a.Length && flag; i++)
{
flag = false;
for (int j = a.Length - 2; j >= i; j--)
{
if (a[j + 1] < a[j]) //这一行是关键
{
swap(a,j + 1,j);
count++;
flag = true;
}
}
}
Console.WriteLine("交换次数=" + count);
}
相关文章推荐
- java中选择排序,冒泡排序和二分法查找学习记录
- 二分法递归查找与二分法查找,随机数产生,冒泡排序
- 二分法查找(C语言,改进)
- JAVA函数、数组讲解(案例:直接排序、冒泡排序、拆半查找(二分法))
- 【Python学习笔记】-冒泡排序、插入排序、二分法查找
- 常用算法(冒泡排序、二分法查找)
- 【Python学习笔记】-冒泡排序、插入排序、二分法查找
- 冒泡排序、选择和插入排序、二分法查找
- C语言拓展——选择排序、冒泡排序、二分法查找
- 一维数组中的一些常用方法(打印数组、逆序、选择排序、冒泡排序、二分法查找、普通查找)
- 冒泡排序、二分法查找基于Java的简单实现
- Java的冒泡排序和二分法查找
- 笔试经常遇到的选择排序、冒泡排序和二分法查找
- 黑马程序员————冒泡排序、选择排序、二分法查找
- 黑马程序员--选择排序、冒泡排序、二分法查找
- (BubbleSort)冒泡排序与(BinarySearch)二分法查找算法(java)
- 冒泡排序、直接选择排序、二分法查找
- Java实现冒泡排序与二分法查找
- java选择排序,冒泡排序分析,附带二分法查找
- 基本算法简单实现-二分法查找、合并排序、冒泡排序、插入排序、选择排序、快速排序