java 几种基础算法的实现 (五)



冒泡排序 java 几种基础算法的实现 (五)
文章图片

选择排序 java 几种基础算法的实现 (五)
文章图片

插入排序 java 几种基础算法的实现 (五)
文章图片

import java.util.Arrays;

/** * Created by gy on 2017/8/21. * email : guoyang000111@163.com * 数组排序法 */ public class SelectSort { public static void main(String[] args) { int a[]={5,2,8,4,1,9,16}; System.out.println("冒泡排序法:"+Arrays.toString(bubble(a))); int b[]={5,2,8,4,1,9,16}; System.out.println("选择排序法"+Arrays.toString(select(b))); int c[]={5,2,8,4,1,9,16}; System.out.println("插入排序法"+Arrays.toString(insert(c))); System.out.println("位置:"+find(a,8)); }/** * 冒泡法 * @param a 排序数组 * @return 计算完的数组 */ public static int [] bubble(int a[]){ for(int i=0; ia[j]){ min=j; } } if(min!=i){ int temp=a[i]; a[i]=a[min]; a[min]=temp; } } return a; }/** * 插入排序法 优于前两种 * @param a 排序数组 * @return 计算完的数组 */ public static int [] insert(int a[]){ int compare; for(int mark=1; mark0&&a[compare-1]>temp){ a[compare]=a[compare-1]; compare--; } a[compare]=temp; } return a; }/** * 二分法查找,前提是数组已经有序 小到大的 * @param a 由小到大的有序数组 * @param value 需要找的值 * @return */ public static int find(int a[],int value){ int start=0; int end=a.length-1; while(end>=start){ int index =(start + end )/2; if(a[index]==value){ return index; }else if(a[index]>value){ end=index-1; }else{ start = index+1; } } return a.length; }}


    推荐阅读