数组的定义:数据类型[] 数组名称=new 数据类型[元素个数或数组长度]
或:数据类型[] 数组名称=new 数据类型[]{数组元素}
或者:数据类型[] 数组名称={数组元素}
数组的遍历:
for(int x=0;x<arr.length;x++){
system.out.println(arr[x]);
}
获取数组中的最大值
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[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
排序-选择排序
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[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
排序-冒泡排序
public static void bubbleSort(int[] arr){
for(int x=0;x<arr.length;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 int halfSearch(int[] arr,int key){
int min=0;
int max=arr.length-1;
int mid=(min+max)/2;
while(arr[mid]!=key){
if(arr[mid]<key){
min=mid+1;
}else if(arr[mid]>key){
max=mid-1;
}
if(min>max){
return -1;
}
mid=(min+max)/2;
}
return mid
}
内存结构:栈内存、堆内存、方法区、本地方法区、寄存器