版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuming226/article/details/84707236
冒泡排序
两个相邻位置比较,如果前面的元素比后面的元素大就交换位置。每次外循环都能确定一个最大值在数组中的位置。
package StringBufferPackage;
public class Demo6_BubbleSort {
public static void main(String[] args) {
int[] arr = {3,6,5,9,7,45,32,22};
BubbleSort(arr);
print(arr);
}
private static void print(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
private static void BubbleSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i -1; j++) {//-1是为了防止数组越界,-i为了提高效率
if(arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
选择排序
用一个索引位置上的元素,一次与其他索引位置上的元素比较,小的在前面大的在后面。每次外循环可以确定一个最小值在数组中的位置。
package StringBufferPackage;
public class Demo7_SelectSort {
public static void main(String[] args) {
int[] arr = {3,6,5,9,7,45,32,22};
selectSort(arr);
print(arr);
}
private static void print(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
private static void selectSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
}