Java实现几种排序算法.doc
文本预览下载声明
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; //插入元素
显示全部