文档详情

Java实现几种排序算法.doc

发布:2018-04-22约2.21千字共3页下载文档
文本预览下载声明
Java冒泡排序算法 import java.util.Arrays; public class BubbleSort { static String sortArray(int[] before){ String result=; for(int i=0;ibefore.length;i++){ result+=before[i]+ ; } return result; } static int[] bubbleSort(int before[]){ int t; for(int i=0;ibefore.length;i++){ for(int j=0;jbefore.length-i-1;j++){ //冒泡排序 if(before[j]before[j+1]){ t=before[j+1]; before[j+1]=before[j]; before[j]=t; } } } return before; } public static void main(String[] args){ int a[]={12,43,23,56,8,22,65,87}; int b[]={23,12,25,67,35,46,82,26,42,79,39}; System.out.println(a Before sorting:+sortArray(a)); a=bubbleSort(a); System.out.println(a After Sorting:+sortArray(a)); System.out.println(b Before sorting:+sortArray(b)); Arrays.sort(b); //使用系统自带的排序算法 System.out.println(b After Sorting:); for(int i=0;ib.length;i++){ System.out.print(b[+i+]=+b[i]+ ); } //System.out.println(b After Sorting:+sortArray(b)); } } Java选择排序算法 //选择排序(从小到大) public class SelectionSort { public static void selectionSort(int[] number){ for(int i=0;inumber.length-1;i++){ int m=i; //每次循环的首位(m记录最小数位) for(int j=i+1;jnumber.length;j++){ if(number[j]number[m]) m=j; } if(i!=m) { swap(number,i,m); } } } private static void swap(int[] number, int i, int j) { // TODO Auto-generated method stub int t; t=number[i]; number[i]=number[j]; number[j]=t; } public static void main(String[] args){ int[] num={2,1,5,876,12,56}; selectionSort(num); for(int i=0;inum.length;i++){ System.out.println(num[i]); } } } Java插入排序算法 //插入排序,分两个数组,后一数组插入前一数组(前一数组通常为一个元素) public class InjectionSort { public static void injectionSort(int[] number){ for(int j=1;jnumber.length;j++){ int tmp=number[j]; //后数组中的待插入元素(前数组为第一个元素) int i=j-1; while(tmpnumber[i]){ number[i+1]=number[i]; //前数组元素后移元素 i--; if(i==-1) break; } number[i+1]=tmp; //插入元素
显示全部
相似文档