JAVA day03 数组的应用,查找,求最值与基本排序方式
2016-03-13 23:53
471 查看
class arrayMax { public static int FindMax(int []a) { int max; max=a[0]; for(int i=1;i<a.length;i++) { if(a[i]>max) max=a[i]; } return max; } public static void SelectSortMax(int[] a) {//每一次内循环结束后的首元素都是最小的 //!!!注意:因为数组是引用型的,所以不用返回也已经修改了 for(int i=0;i<a.length-1;i++) { for(int j=i+1;j<a.length;j++) { if(a[i]>a[j]) { int tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } } } public static void BubbleSort(int []a) { for(int i=0;i<a.length-1;i++) { for(int j=0;j<a.length-i-1;j++)//-1防越界 { if(a[j]>a[j+1]) { int tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } } } } public static int FindLocation(int []a,int e) {//折半_前提是已升序排列的一串数 int i,min,mid,max; min=0; max=a.length-1; mid=(min+max)/2; while(e!=a[mid])//for(i=0;i<a.length;i++) x { if(e<a[mid]) { max=mid-1; // mid=(min+max)/2; } else //if(e>a[min]) { min=mid+1; //mid=(min+max)/2; } if(min>max) return -1; mid=(min+max)/2; } if(e==a[mid]) return mid; else return -1; /* whlie(mid<max) { if else if else return mid; } return -1; */ } public static void main(String[] args) { int a[]={1,5,44,0,-1}; System.out.println(FindMax(a)); SelectSortMax(a); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" \n"); } BubbleSort(a); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } System.out.print("\n44的下标是"+FindLocation(a,44)+"\n"); } }
相关文章推荐
- Java day03 数组的定义和初始化
- Eclipse Che安装入门和使用(一)
- 20145303刘俊谦 《Java程序设计》第2周学习总结
- 那些年一起踩过的坑 — java 自动装箱拆箱问题
- Java day02 基本语句练习 进制转换
- java多线程总结(很详细)
- javase的三层框架笔记
- 《Java程序设计》第2周学习总结
- java语法_1:面向对象:2
- [原创]spring学习笔记:关于springsource-tool-suite插件的安装
- java Jackson 库操作 json 的基本演示
- 20145312 《Java程序设计》第2周学习总结
- Spring MVC入门实例
- 20145321 《Java程序设计》第2周学习总结
- 3.10 java基础总结集合①迭代器iterator
- 3.9 java基础总结集合①LIst②Set③Map④泛型⑤Collections
- 3.8 java基础总结①多线程
- 20145211 《Java程序设计》第2周学习总结——桃花依旧笑春风
- 20145310 《Java程序设计》第2周学习总结
- java多线程