------- android培训、java培训、期待与您交流! ----------
数组:同一种数据类型的集合
定义 int arr[] = new int[ 2 ]或者int [] arr=new int [2]
数组常用操作 遍历——数组有个属性length可以获得数组元素个数 for (int x=0;x<arr.length;x++) {arr[x]}
常见操作 获取最值
class ArrDemo
{
public static void main(String args[])
{
int[] arr = {5,6,7,23,8,44,0};
System.out.println(getmax(arr));
}
public static int getmax(int[] arr)
{
int max = arr[0];
for (int x=1 ;x<arr.length ;x++ )
{
if (max<arr[x])
{
max = arr[x];
}
}
return max;
}
}
排序两种常见方式 选择排序和冒泡排序 下面先看选择排序
选择排序 选择0位置和后面一个个比,如果符合条件换位置,最值放在第一个,接着选后面的最值放在第二个.......
//从小到大排序
class ArrDemo1
{
public static void main(String args[])
{
int[] arr = {23,34,53,2,57,6,24,22};
selectSort(arr);
print(arr);
}
public static void selectSort(int[] arr)
{
for (int x = 0;x<arr.length-1 ;x++ )
{
for (int y = x+1;y<arr.length ;y++ )
{
if (arr[x]>arr[y])
{
int temp = arr[y];
arr[y] = arr[x];
arr[x] = temp;
}
}
}
}
public static void print(int[] arr)
{
for (int x=0;x<arr.length ;x++ )
{
System.out.print(arr[x]+",");
}
}
}
冒泡排序 从0开始,每个和后面的比较,符合条件换位置,最值到最后面Array.sort()可以直接排序
class ArrDemo2
{
public static void main(String args[])
{
int[] arr = {3,34,342,2,11,5};
chooseSort(arr);
print(arr);
}
public static void chooseSort(int[] arr)
{
for (int x = 0;x<arr.length-1 ;x++ )
{
for (int y=0;y<arr.length-x-1 ;y++ )
{
if (arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y]= arr[y+1];
arr[y+1]=temp;
}
}
}
}
public static void print(int[] arr)
{
for (int x = 0 ;x< arr.length ;x++ )
{
System.out.print(arr[x]+",");
}
}
}
有序数组折半查找
class ArrDemo3
{
public static void main(String args[])
{
int[] arr={3,34,32,22,5,22,5,44};
System.out.println(halfSeach(arr,33));
}
public static int halfSeach(int[] arr,int key)
{
int max=arr.length-1;
int min=0;
int mid=(max+min)/2;
while (key!=arr[mid])
{
if (key<arr[mid])
{
max=mid-1;
}
else if (key>arr[mid])
{
min = mid+1;
}
if (min>max)
{
return -1;
}
min=(max+min)/2;
}
return mid;
}
}