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;
}
|
|