冒泡排序
**
* 冒泡排序
* @author Mr.Zhou
*
*/
public class ArraySort01 {
public static void main(String[] args) {
//源数组
int[] arr = {10,5,8,1,20,18};
//冒泡排序
for(int i=1;i<arr.length;i++){//控制比较轮数
for(int j=0;j<arr.length-i;j++){//每轮比较的次数
//前一个元素和后一个元素比较,如果大就换位置
if(arr[j] > arr[j+1]){
//声明一个变量,用来临时存储数据
int type = 0;
//将第一个元素放入中间量
type = arr[j];
//将后一个元素放到前一个变量中
arr[j] = arr[j+1];
//将中间量的元素放入后一个变量中
arr[j+1] = type;
}
}
for(int a:arr){
System.out.print(a + " ");
}
System.out.println();
}
选择排序
ublic class Test {
public static void main(String[] args) {
int[] buf = { 22, 35, 1, 45, 37, 25, 10, 36, 25, 8 };
int n = 0;
int index = 0;
for (int i = 0; i < buf.length - 1; i++) {
index = i;
for (int j = i + 1; j < buf.length; j++) {
if(buf[index] > buf[j]) {
index = j;
}
}
if (i != index) {
n ++;
buf[i] = buf[index] ^ buf[i];
buf[index] = buf[index] ^ buf[i];
buf[i] = buf[index] ^ buf[i];
}
}
System.out.println(Arrays.toString(buf));
System.out.println(n);
}
}
插入排序
/**
* 插入排序
* @author Mr.Zhou
*
*/
public class ArraySort03 {
public static void main(String[] args) {
//源数组
int[] arr = {10,5,8,1,20,18};
//插入排序
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j>0;j--){
//交换位置
if(arr[j] < arr[j-1]){
int type = 0;
type = arr[j];
arr[j] = arr[j-1];
arr[j-1] = type;
}
}
for(int a:arr){
System.out.print(a + " ");
}
System.out.println();
}