package interview;
import org.junit.Test;
/**
* 几种常见的排序的具体实现
* @author USER
*
*/
public class Sort {
static int[] a = {2,5,9,0,1,6,7,3,8,4};
private static void swap(int[] a,int m,int n){
int temp = a[m];
a[m] = a[n];
a[n] = temp;
}
private static void print() {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
//冒泡排序
@Test
public void bubbleSort(){
for (int i = a.length-1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (a[j] > a[j+1]) {
swap(a, j, j+1);
}
}
}
print();
}
//选择排序:不稳定排序
@Test
public void selectSort(){
for (int i = 0; i < a.length-1; i++) {
for (int j = i+1; j < a.length; j++) {
if (a[i] > a[j]) {
swap(a, i, j);
}
}
}
print();
}
//插入排序
@Test
public void insertSort(){
for (int i = 1; i < a.length; i++) {
for (int j = i; (j > 0) && (a[j] < a[j-1]); j--) {
swap(a, j, j-1);
}
}
print();
}
}
几种常见的简单排序
最新推荐文章于 2022-07-28 17:17:48 发布