【JAVA】java常见排序算法,
分享于 点击 24069 次 点评:173
【JAVA】java常见排序算法,
/**
*
* @author Loger
*
*/
public class Sort {
/**
* 选择排序
* @param array
* @return
*/
public int[] SelectSort(int array[]){
int out,in;
int min;
for(out = 0; out < array.length-1; out++){
min = out;
for(in = out+1; in < array.length; in++){
if(array[in] < array[min]){
min = in;
}
}
if(min != out){
array[out] = array[out] + array[min];
array[min] = array[out] - array[min];
array[out] = array[out] - array[min];
}
}
return array;
}
/**
* 冒泡排序
* @param array
* @return
*/
public int[] BubbleSort(int array[]){
for(int i=0; i < array.length - 1; i++){
for(int j = i; j < array.length-i-1; j++){
if(array[j] > array[j+1]){
array[j] = array[j] + array[j+1];
array[j+1] = array[j] - array[j+1];
array[j] = array[j] - array[j+1];
}
}
}
return array;
}
/**
* 插入排序
* @param array
* @return
*/
public int[] InsertSort(int array[]){
for(int i=1; i < array.length; i++){
int insert = array[i];//待插入的元素
int j = i - 1;
while(j >= 0 && insert < array[j]){
array[j+1] = array[j];
j--;
}
array[j+1] = insert;
}
return array;
}
/**
* 主函数
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] array = {1,3,2,9,8,7,10};
Sort sort = new Sort();
System.out.println("原数组:");
for(int a:array){
System.out.print(a+" ");
}
// System.out.println("\n选择排序:");
// for(int a:sort.SelectSort(array)){//foreach打印数组
// System.out.print(a+" ");
// }
// System.out.println("\n冒泡排序:");
// for(int a:sort.BubbleSort(array)){//foreach打印数组
// System.out.print(a+" ");
// }
System.out.println("\n插入排序:");
for(int a:sort.InsertSort(array)){//foreach打印数组
System.out.print(a+" ");
}
}
}
相关文章
- 暂无相关文章
用户点评