冒泡排序
public class Bubble_Sort {
public static int[] sort(int [] array) {
for(int i =1;i<array.length;i++) {
boolean flag = true;
for(int j =0;j<array.length-i;j++) {
if(array[j]>array[j+1]) {
int tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
flag = false;
}
}
if(flag) {
break;
}
System.out.println("第"+i+"轮排序后的结果为");
display(array);
}
return array;
}
public static void display(int [] array) {
for(int i=0;i<array.length;i++) {
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] array = {3,5,2,6,7,1,4,6,7} ;
System.out.print("未排序数组");
display(array);
System.out.println("/");
array = sort(array);
System.out.println("/");
System.out.println("冒泡排序后的数组顺序为");
display(array);
}
}
选择排序
public class ChoiceSort {
public static int [] sort(int [] array) {
//经过N-1轮比较
for(int i=0;i<array.length-1;i++) {
int min =i;
//从有序元素的下一个元素开始
for(int j=i+1;j<array.length;j++) {
if(array[j]<array[min]) {
min = j;//记录当前能找到的最小元素值得下表
}
}
//若i的值!= min 说明后续元素中存在比当前元素小的值,交换
if(i!=min) {
int tmp = array[i];
array[i]=array[min];
array[min] = tmp;
}
System.out.print("第"+(i+1)+"轮排序后的结果为");
display(array);
}
return array;
}
public static void display(int [] array) {
for(int i=0;i<array.length;i++) {
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] array = {4,2,4,3,46,7,9,9,3};
//未排序数组
System.out.println("未排序数组为:");
display(array);
System.out.println("/");
array = sort(array);
System.out.println("经过选择排序后的数组为:");
display(array);
}
}
插入排序
public class Insert_sort {
public static int[] sort(int [] array) {
int j;
for(int i=1;i<array.length;i++) {
int tmp = array[i];
j = i;
while(j>0&&tmp<array[j-1]) {//注意此处的j>0
array[j] = array[j-1];
j--;
}
array[j] = tmp;
}
return array;
}
public static void display(int [] array) {
for(int i =0;i<array.length;i++) {
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method st
int [] array= {4,2,4,34,8,5,3};
System.out.println("未排序数组");
display(array);
array= sort(array);
System.out.println("有序化数组");
display(array);
}
}