java二分法查找和冒泡排序方法的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/* 方法
//1.明确该功能的结果(就是明确返回值类型)
//2.在实现该功能的过程中,是否有未知内容参与运算
//(就是明确参数列表 1.参数类型 2.参数个数)
*/
class Demo
{
public static void main(String[] args)
{
int num = 0,MaxArr;
int[] arr = new int[num];
int[] arr1 = {1,2,3,4,5};//int[] arr1 = new int[]{1,2,3,4,5}; 两种方式都可以
int x=1,y=1;
if(x++==2 && ++y==2)
{
x=5;//x=2 y=1
}
else if(x++==1 | ++y==2)
{
x=5;//x=5 y=2
}
System.out.println("a"+1);
System.out.println('a');
System.out.println('a'+1);
}
/*
//累加思想
*/
public static void GetSum()
{
int sum = 0;
for(int x=0;x<=100;x++)
{
sum+=x;
}
}
public static void PrintArr(int[] a)
{
for(int x=0;x
System.out.println("a["+x+"]"+"="+a[x]);
}
}
//最小值
public static int PrintArrMin(int[] a)
{
int min = a[a.length-1];
for(int x=1;x
if(a[x]
}
System.out.println("min ="+min);
return min;
}
public static int Add(int a,int b)
{
return a+b;
}
public static int Add(int a,int b,int c)//重载
{
return a+b+c;
}
/*
//大圈套小圈
*/
public static void Get99()//乘法表
{
Get99(9);
}
public static void Get99(int a)//乘法表
{
for(int x=1;x<=a;x++) //行
{
for(int y=1;y<=x ;y++ )//列
{
System.out.print(y+"*"+x+"="+(x*y)+"\t");
}
System.out.println();
}
}
/*
//二分查找 另外一种形式找角标
*/
public static int HalfSearch2(int[] arr,int key)
{
int max,min,mid;
max = arr.length-1;
min = 0;
//mid = (max+min)/2;
while (min<=max)
{
mid = (max+min)/2;
if(key >arr[mid])
max = mid - 1;
else if(key
else
return mid;
}
return -1;
}
/*
//二分查找 必须是有序序列
*/
public static int HalfSearch(int[] arr,int key)
{
int max,min,mid;
max = arr.length-1;
min = 0;
mid = (max+min)/2;
while (arr[mid]!=key)
{
if(key>arr[mid])
max = mid-1;
else if(key
if(max
mid = (max+min)/2;
}
return mid;
//return -1;
}
/*
//选择排序 //希尔排序最快
//特点:1.当内循环结束一次,在最低角标位出现最值
*/
public static void SelectSort(int[] arr)
{
for(int x=0;x
for(int y=x+1;y
if(arr[x]>arr[y])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
/*
//冒泡排序
//特点:
*/
public static int PrintArrMax(int[] a)
{
for(int y=0;y
for(int x=a.length-1;x>0;x--)
{
if (a[x]>=a[x-1])
{
//int b = a[x-1];
//a[x-1] = a[x];
//a[x] = b;
swap(a,x,x-1);
}
}
}
return a[0];
}
private static void swap(int[] arr,int x,int y)
{
int b = arr[y];
arr[y] = arr[x];
arr[x] = b;
}
}