冒泡排序
方法:两个数比较大小,较大的数靠后,较小的数冒靠q前。
public static void BubbleSort(int [] array){
int temp;//临时变量标记换数的值
for(int i=0; i<array.length-1; i++){
boolean flag;//是否排好顺序
for(int j=array.length-1; j>i; j--){
if(array[j] < array[j-1]){
temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}
}
if(!flag){
break;
}
}
}
选择排序
方法:
在长度为n的无序数组中,1、遍历n-1个数,找到最小的数值与第一个元素交换;2、遍历n-2个数,找到最小的数值与第二个元素交换;3、第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。
public static void select_sort(int array[],int length){
for(int i=0;i<length-1;i++){
int minIndex = i;
for(int j=i+1;j<length;j++){
if(array[j]<array[minIndex]){
minIndex = j;
}
}
if(minIndex != i){
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
}
插入排序
方法:
在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
public static void insert_sort(int array[],int lenth){
int temp;
for(int i=0;i<length-1;i++){
for(int j=i+1;j>0;j--){
if(array[j] < array[j-1]){
temp = array[j-1];
array[j-1] = array[j];
array[j] = temp;
}else{ //不需要交换
break;
}
}
}
}
网友评论