黑马程序员技术交流社区

标题: 数组 [打印本页]

作者: 小p    时间: 2015-7-15 23:20
标题: 数组


1.冒泡排序法

相邻元素间进行比较,最值出现在最后位。

核心代码:


public static void maoPao(int[] arr)
{

for (int x=0;x<arr.length-1 ; x++ )
{
for (int y=0;y<arr.length-x-1 ;y++ )//-x是为了改变循环次数,-1是为了避免第一次时越界
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}


}


}

2.查找操作

普通查找:

public static int getIndex(int[] arr,int key)
{
for (int x=0;x<arr.length ;x++ )
{
if(arr[x]==key)
return x;
}
return -1;
}

折半查找:数组必须是有序的;

//折半查找两种方式
/*public static int zheBan(int[] arr,int key)
{
int min,max,mid;
min=0;
max=arr.length;
mid=(min+max)/2;
while(key!=arr[mid])
{
if(key>arr[mid])
min=mid+1;
else
max=mid-1;
if(min>max)
return -1;
mid=(min+max)/2;
}
return mid;
}*/
public static int zheBan2(int[] arr,int key)
{
int min,max,mid;
min=0;
max=arr.length;
mid=(min+max)/2;
while(min<=max)
{
if(key>arr[mid])
min=mid+1;
else if(key<arr[mid])
max=mid-1;
else
return mid;
mid=(min+max)/2;
}
return -1;
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2