您的位置:首页 > 其它

数组的几种排序方式

2016-04-15 11:12 225 查看
import java.util.Arrays;

class Demo{

public static void main(String[] args){

/* int[] arr = new int[3];

arr[0] = 123;

arr[1] = 456;

arr[2] = 789;

for(int i = 0; i < arr.length; i++){

System.out.println("数组中的值为:" + arr[i]);

}

*/

int[] arr = {3,8,100,50,888};

sort1(arr);

sort2(arr);

Sort3(arr);

int[] val = getMax(arr);

System.out.println("min"+val[0]);

System.out.println("max"+val[1]);

}

/*

数组排序 Arrays

*/

public static void sort1(int[] arr){

Arrays.sort(arr);

for(int i = 0; i < arr.length; i++){

System.out.println("sort1:arr====>"+arr[i]);

}

}

/*

冒泡排序

*/

public static void sort2(int[] args){

for(int i = 0; i < args.length-1; i++){

for(int j = i+1; j < args.length; j++){

if (args[i] > args[j]){

int temp = args[i];

args[i] = args[j];

args[j] = temp;

}

}

}

for(int c = 0; c < args.length; c++){

System.out.println("sort2:args====>"+args[c]);

}

}

/*

选择排序

*/

public static void Sort3(int[] args){

for (int i=0;i<args.length-1 ;i++ ){

int min=i;

for (int j=i+1;j<args.length ;j++ ){

if (args[min]>args[j]){

min=j;

}

}

if (min!=i){

int temp=args[i];

args[i]=args[min];

args[min]=temp;

}

}

for(int c = 0; c < args.length; c++){

System.out.println("sort3:args====>"+args[c]);

}

}

/*

插入排序

*/

public static void Sort4(int[] args){

for(int i = 1; i < args.length; i++){

for(int j = i; j>0; j--){

if(args[j] < args[j-1]){

int temp = args[j-1];

args[j-1] = args[j];

args[j] = temp;

}else break;

}

}

for(int c = 0; c < args.length; c++){

System.out.println("sort4:args====>"+args[c]);

}

}

public static int[] getMax(int[] arr){

int max = arr[0];

int min = arr[0];

for(int i = 1; i < arr.length; i++){

if(arr[i] > max){

max = arr[i];

}

if(arr[i] < min){

min = arr[i];

}

}

int[] val = new int[2];

val[0] = min;

val[1] = max;

return val;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: