语言基础——Java_selectSort & bubbleSort
2016-03-30 13:05
585 查看
class Jsort { public static void main(String[] args) { int[] arr = new int[]{18,99,56,24,86,62,17}; sopsort(arr); bsort(arr); sopsort(arr); ssort(arr); sopsort(arr); int max=getMax(arr); System.out.println("max = "+max); int min=getMin(arr); System.out.println("min = "+min); } //打印数组实现 public static void sopsort(int[] arr) //printsort { System.out.print("{"); for(int i=0;i<arr.length;i++) { if(i != arr.length-1) //此处分开if,else两种情况是为了保证输出的数组元素间隔号用,和.更精准。 System.out.print(arr[i]+","); else System.out.print(arr[i]+"."); } System.out.print("}"); System.out.println(); } //数据交换实现 public static void swap(int[] arr,int a,int b)//swap 涉及元素交换时候可以利用swap,提高代码的复用性。 { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } //冒泡排序实现 public static void bsort(int[] arr)//bsort 这是冒泡排序实现,下面有3处要说明。 { for(int i=0;i<arr.length-1;i++) { for(int j=0;j<arr.length-1-i;j++) //此处arr.length-1的目的是避免数组越界异常;arr.length-1-i的目的是实现外循环+1时,内循环参与比较的元素个数-1. { if(arr[j]>arr[j+1])//注意:此处比较的是内循环的相邻的两个数。 swap(arr,j,j+1); } } } //选择排序实现 public static void ssort(int[] arr)//ssort { for(int i=0;i<arr.length-1;i++) //1,arr.length-1中的"-1"是因为最后一个元素没有比较对象了,即最后一个不用比较。 { for(int j=i+1;j<arr.length;j++) { if(arr[j]>arr[i]) //比较的不一样得到的排序结果正好相反。区别arr[j]>arr[i] 和arr[i]>arr[j],可以体会下。 swap(arr,i,j);//此处swap方法中i,j先后顺序随意。自己理解下。 } } } //获取最大值实现 public static int getMax(int[] arr)//getMax { int maxEle=arr[0]; for(int i=0;i<arr.length;i++) { if(arr[i]>arr[0]) maxEle=arr[i]; else maxEle=arr[0]; } return maxEle; } //获取最小值实现 public static int getMin(int[] arr)//getMin { int minEle=arr[0]; for(int i=0;i<arr.length;i++) { if(arr[0]>arr[i]) minEle=arr[i]; else minEle=arr[0]; } return minEle; } }锤炼·精技术_JeremyDc
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树