1:取最大值
选择排序
一:public static void main(String[] args) {
int[] a= {12,34,1,42,56,32,14,67};
int max=a[0];
for(int x=0;x<a.length;x++) {
if(a[x]>max)
max=a[x];
}
System.out.println(max);
}
二:public static void main(String[] args) {
int[] a= {12,34,1,42,56,32,14,67};
int max=0;
for(int x=0;x<a.length;x++) {
if(a[x]>a[max])
max=x;
}
System.out.println(max);
System.out.println(a[max]);
}
2:数组排序之从小到大
一:public static void main(String[] args) {
int[] a= {12,34,1,42,56,32,14,67};
for(int x=0;x<a.length-1;x++) {
for(int y=x+1;y<a.length;y++) {
if(a[x]>a[y]) {
int temp=a[x];
a[x]=a[y];
a[y]=temp;
}
}
}
for(int x=0;x<a.length;x++) {
System.out.println(a[x]);
}
}
3:数组查找
无序数组
int[] a= {12,34,1,42,56,32,14,67};
for(int x=0;x<a.length;x++) {
if(32==a[x])
System.out.println(x);
}
有序数组(快速查找之二分查找,也称折半查找)
public static void main(String[] args) {
int[] a= {12,34,1,42,56,32,14,67};
int[] b= {12,34,42,45,56,67,80};
int max,min,mid;
min=0;
max=b.length-1;
mid=(min+max)/2;
while(b[mid]!=56) {
if(56>b[mid])
min=mid+1;
if(56<b[mid])
max=mid-1;
if(max<min)
return ;
mid=(max+min)/2;
}
System.out.println(mid);
}