测试数据函数:
//for test
public static int[] RandomArray(int size,int value) {
//Math.random()-->double[0,1)
//(int)((size+1)*Math.random())-->[0,size]的 整数
//生成长度随机的数组
int[] arr = new int[(int)((size+1)*Math.random())];
for(int i=0; i<arr.length; i++) {
arr[i] = (int) ((value+1)*Math.random()) - (int) (value*Math.random());
}
return arr;
}
冒泡排序:
package Demo;
import java.io.*;
import java.util.*;
public class code
{
public static void main(String[] args) {
int[] arr = {3,2,1};
for (int i : arr) {
System.out.println(i);
}
System.out.println("冒泡排序后:");
if(arr == null || arr.length <2)
return ;
for(int end=arr.length-1; end > 0; end--) {
for(int i=0; i<end; i++) {
if(arr[i]>arr[i+1])
swap(arr,i,i+1);
}
}
for (int i : arr) {
System.out.println(i);
}
}
public static void swap(int[] arr,int i,int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
选择排序:
package Demo;
import java.io.*;
import java.util.*;
public class code
{
public static void main(String[] args) {
int[] arr = {3,2,1};
for (int i : arr) {
System.out.println(i);
}
System.out.println("选择排序后:");
if(arr == null || arr.length <2)
return ;
for(int i=0; i<arr.length-1; i++) {
int minIndex = i;
for(int j=i; j<arr.length; j++) {
minIndex = arr[j] < arr[minIndex] ? j : minIndex;
}
swap(arr,i,minIndex);
}
for (int i : arr) {
System.out.println(i);
}
}
public static void swap(int[] arr,int i,int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
插入排序:
package Demo;
import java.io.*;
import java.util.*;
public class code
{
public static void main(String[] args) {
int[] arr = {3,2,1};
for (int i : arr) {
System.out.println(i);
}
System.out.println("插入排序后:");
if(arr == null || arr.length <2)
return ;
for(int i=1; i<arr.length; i++) {
for(int j=i-1; j>=0 && arr[j]>arr[j+1]; j--) {
swap(arr,j,j+1);
}
}
for (int i : arr) {
System.out.println(i);
}
}
public static void swap(int[] arr,int i,int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
后续持续更新...