您的位置:首页 > 编程语言 > Java开发

JAVA day03 数组的应用,查找,求最值与基本排序方式

2016-03-13 23:53 471 查看
class arrayMax
{
public static int FindMax(int []a)
{
int max;
max=a[0];
for(int i=1;i<a.length;i++)
{
if(a[i]>max)
max=a[i];
}
return max;
}

public static void SelectSortMax(int[] a)
{//每一次内循环结束后的首元素都是最小的
//!!!注意:因为数组是引用型的,所以不用返回也已经修改了
for(int i=0;i<a.length-1;i++)
{
for(int j=i+1;j<a.length;j++)
{
if(a[i]>a[j])
{
int tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
}
public static void BubbleSort(int []a)
{
for(int i=0;i<a.length-1;i++)
{
for(int j=0;j<a.length-i-1;j++)//-1防越界
{
if(a[j]>a[j+1])
{
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
}
public static int FindLocation(int []a,int e)
{//折半_前提是已升序排列的一串数
int i,min,mid,max;
min=0;
max=a.length-1;
mid=(min+max)/2;
while(e!=a[mid])//for(i=0;i<a.length;i++) x
{
if(e<a[mid])
{
max=mid-1;
//	mid=(min+max)/2;
}
else //if(e>a[min])
{
min=mid+1;
//mid=(min+max)/2;
}
if(min>max)
return -1;
mid=(min+max)/2;
}
if(e==a[mid])
return mid;
else
return -1;
/*
whlie(mid<max)
{
if

else if

else
return mid;
}
return -1;
*/
}

public static void main(String[] args)
{
int a[]={1,5,44,0,-1};

System.out.println(FindMax(a));

SelectSortMax(a);
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+" \n");
}

BubbleSort(a);
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+" ");
}
System.out.print("\n44的下标是"+FindLocation(a,44)+"\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: