排序demo
public class Sort {
//测试
public static void main(String[] args) {
Sort sort = new Sort();
int[] arr = { 49, 38, 65, 97, 76, 13, 27, 49, 2 };
sort.bubbleSort(arr);
//sort.bubbleSort(arr1);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
/**
* 冒泡排序
*/
public void bubbleSort(int[] arr) {
boolean flag = true;
int i = arr.length - 1;
while (i > 0 && flag) {
flag = false;// flag置为false,如果本躺没有发生交换,则不会执行下一趟排序
for (int j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {// 逆序则交换
flag = true;// flag置为true,表示本趟排序发生了交换
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
i--;
}
}
/**
* 选择排序
*/
public void selectSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int k = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[k]) {
k = j;
}
}
if (k != i) {
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
}