java 基础之数组各种操作
2017-11-02 22:19
190 查看
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);
}
选择排序
一: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);
}
相关文章推荐
- Java基础---使用循环操作Java中的数组(三十一)
- 黑马程序员JAVA基础-数组以及一些基本操作
- Java 基础入门随笔(6) JavaSE版——数组操作
- Java基础——函数+数组概述+数组操作(获取最值_排序_折半查找+进制转换)
- JAVA基础学习(四)---数组的操作
- Java基础---使用Arrays类操作Java中的数组(三十二)
- Java基础---使用循环操作Java中的数组(三十一)
- java基础--数组操作
- Java基础-数组的基本操作(2)
- JAVA_SE基础——20.数组的常见操作
- Java基础-数组的基本操作(3)
- JAVA数组和JAVA集合类的对象操作-Java基础-Java-编程开发
- JAVA基础4-数组的操作
- 黑马程序员--Java基础学习笔记【数组操作、基本数据类型包装类】
- 黑马程序员——Java基础——数组操作应用
- java基础05数组中的常见操作函数
- Java基础---使用Arrays类操作Java中的数组(三十二)
- 黑马程序员--Java基础学习笔记【重载、数组操作】
- Java基础---使用foreach操作数组(三十三)
- 黑马程序员_java基础(数组的操作)