分类: Java
2012-04-13 23:25:38
/**
* @author:zhangzhengxing
* @faction:二分法查找
*/
package com.zhang5;
public class Demo11 {
public static void main(String[] args) {
int array[]={-4,-1,1,2,3,4,5,6,7,9};
Find f1=new Find();
f1.find1(0, array.length-1, 00, array);
}
}
//二分法查找(前提是你要排序好才可以查找)
class Find
{
public void find1(int left,int right,int val,int arr[])
{
//先找到中间的下标
int mid=(left+right)/2;
int midval=arr[mid]; //最中间的值
//首先要右边大于左边
if(right>=left)
{ //如果中间的大于你要找的数,那就找左边的数
if(midval>val)
{ //这个是递归的调用
find1(left,mid-1,val,arr);
}else{
if(mid
find1(mid+1,right,val,arr);
}else
{
if(midval==val)
{
System.out.println("你要的下标是"+mid);
}
}
}
}
}
}
/**
* @author:zhangzhengxing
* @faction:排序的操作
*/
package com.zhang5;
import java.util.*;
public class Demo10 {
public static void main(String[] args) {
int len=40000;
int array[]=new int[len];
for(int i=0;i
int array12=(int)(Math.random()*len);
array[i]=array12;
}
int arra[]={1,23,5,6,-6,-4,89};
Bubbing bus=new Bubbing();
Calendar ca=Calendar.getInstance();
System.out.println("打印前"+ca.getTime());
bus.taxsis(array); //引用传递
ca=Calendar.getInstance();
System.out.println("打印后"+ca.getTime());
Select se=new Select();
se.taxsis(arra); //引用传递
//输出
for(int i=0;i
System.out.print(array[i]+" ");
}
System.out.println( );
//输出
for(int i=0;i
System.out.print(arra[i]+" ");
}
}
}
//冒泡排序
class Bubbing
{ public void taxsis(int arr[]) //引用传递的方法
{
//排序(冒泡)
//最外层是用来控制他排了多少趟
int temp=0;
for(int i=0;i
for(int j=0;j
//开始比较
if(arr[j]
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
}
}
//选择排序法
class Select
{
public void taxsis(int arr1[])
{
//首先认为第一个是最小的
int temp=0;
for(int i=0;i
int min=arr1[i]; //认为这个是最小的
int index=0; //用这个来记录下表
for(int j=i+1;j
//把最小的值给他
min=arr1[j];
//修改最小值的下标
index=j;
}
//退出循环跟下一个比较
temp=arr1[i];
arr1[i]=arr1[index];
arr1[index]=temp;
}
}
}
//插入排序
class Insert
{
public void taxsis(int arr2[])
{
for(int i=1;i
int arrval=arr2[i]; //准备添加的数
//准备和下面一个数字比较
int index=i-1;
while(index>=0 && arrval
//将arr2[index]向后移动一位
arr2[index+1]=arr2[index];
//index向前移动一位
index--;
}
//可以插入
arr2[index+1]=arrval;
}
}
}