java 基础之数组各种操作

来源:互联网 发布:棉先生衣服怎么样 知乎 编辑:程序博客网 时间:2024/06/07 22:49

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