冒泡排序和二分查找
来源:互联网 发布:《梦里花落知多少》txt 编辑:程序博客网 时间:2024/05/17 03:27
/**
**/
package com.test.sort;
/**
* @author Administrator
*
*/
/**
*冒泡排序
*
*/
public class Bubbling
{
public static int[] Bubbling(int[] arr)
{
//int[] arr = {12,45,11,22,2,5,27,3,99,0};
for(int i = 0;i<arr.length;i++)
{
for(int j=0;j<arr.length-i-1;j++)
{
int temp;
if(arr[j]>arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
}
--------------------------------------------------------------分隔符----------------------------------------------------------
二分查找以中间的数字大小儿子比较标准,假设是从小到大,中间数字大于所求数字,那肯定在左边,相同的方法定位左边字表的中间值在比较,相反则亦然
/**
*
*/
package com.test.sort;
/**
* @author Administrator
*二分查找
*/
public class BinarySearch
{
public static int binarySearch(int[] array, int value)
{
int low = 0;
int high = array.length-1;
int middle = 0;
while(low <= high)
{
middle = (low+high)/2;
if(array[middle] == value)
{
return middle;
}
if(value < array[middle])
{
high = middle - 1;
}
if(value > array[middle])
{
low = middle + 1;
}
}
return -1;
}
//递归
public static int binarySearch1(int[] array, int value,int low,int right)
{
int center = (low+right)/2;
if(array[center] == value)
{
System.out.println("找到了");
return center;
}
if(array[center] > value)
{
return binarySearch1(array,value,low,right -1);
}
if(array[center] < value)
{
return binarySearch1(array,value,center+1,right);
}
return -1;
}
public static void main(String[] args)
{
int[] array = {7,3,9,5,6,8,1};
int[] array1 = Bubbling.Bubbling(array);
//1356789
int index = binarySearch(array1,5);
System.out.println("所在的位置:"+index);
}
}
- 冒泡排序和二分查找
- 冒泡排序和二分查找
- 冒泡排序和二分查找
- JAVA实现冒泡排序和二分查找
- C语言 冒泡排序和二分查找
- JAVA实现冒泡排序和二分查找
- 二分查找和冒泡排序算法
- Java中冒泡排序和二分查找
- 冒泡排序+二分查找
- 冒泡排序、二分查找
- 选择排序、冒泡排序和二分查找C/C++
- 冒泡排序和选择排序二分查找代码实现
- 二分查找与冒泡排序
- 冒泡排序及二分查找
- 二分查找以及冒泡排序
- java 冒泡排序二分查找
- 数据结构和算法(一):冒泡排序和二分查找
- C语言:冒泡排序和二分查找混合
- Android中定义BaseActivity
- Leetcode210-Course Schedule II
- Android实习周记:第二周,(IT==不停的学习) is TRUE
- UVA 1415 Gauss Prime(高斯素数)
- oracle最新sql回忆性演练1
- 冒泡排序和二分查找
- 菜鸟学安卓Log.v(“第五篇”)——安卓工程目录的介绍及打包安卓应用程序及安装过程
- HDU 1754 ——简单线段树
- sqlite3常用命令
- hacker发展流程图 菜菜学习中
- RESTful API 设计最佳实践
- UVA 11916 Emoogle Grid(模指数方程)
- 什麼是REST跟RESTful?
- URAL 1353 Milliard Vasya's Function(数位DP)