排序:
插入排序
归并排序
快速排序
冒泡排序
希尔排序
选择排序
================================
冒泡排序:
相邻元素两两比较,大的往后放,第一次完毕后,最大值就出现在了最大索引处。
代码实现:
package com.gaowei_09;
/*
* 数组排序之 冒泡排序
*
*/
public class ArrayDemo1 {
public static void main(String[] args) {
int[] arr = { 24, 90, 80, 57, 100 };
printArray(arr);
printArray(BubbleSort(arr));
}
public static int[] BubbleSort(int[] arr) {
for (int t = 0; t < arr.length - 1; t++) {
for (int i = 0; i < arr.length - 1- t; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
return arr;
}
public static void printArray(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i] + "]");
} else {
System.out.print(arr[i] + ", ");
}
}
}
}
=====================================================
选择排序:
从索引0开始,依次和后面的元素比,小的往前放,第一次完毕,最小值出现了最小索引处,
其他的同理,即可以得到一个排序好的数组。
代码实现:
package com.gaowei_09;
public class ArrayDemo2 {
public static void main(String[] args) {
int [] arr = {24,69,80,57,13};
printArray(arr);
printArray(sort(arr));
}
public static int[] sort(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;
}
}
}
return arr;
}
public static void printArray(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i] + "]");
} else {
System.out.print(arr[i] + ", ");
}
}
}
}