java基础八(数组排序总结)
2018-03-25 23:59
435 查看
数组常用排序方法:import java.util.Arrays;
/*
* Java 自带数组排序Arrays.sort(nums);
* Java自带时钟函数
* startTime = System.currentTimeMillis();//记录毫秒
*/
public class Test
{
public static void main(String[] args)
{
int[] nums = new int[100000];
initArray(nums);//初始化
long startTime = System.currentTimeMillis();//记时间
selectionSort(nums);// 选择排序
long endTime = System.currentTimeMillis();
System.out.println("选择排序时间: " + (endTime - startTime));
initArray(nums);//初始化
startTime = System.currentTimeMillis();
bubbleSort(nums);//冒泡排序
endTime = System.currentTimeMillis();
System.out.println("冒泡排序时间: " + (endTime - startTime) );
//print(nums);
initArray(nums);//初始化
startTime = System.currentTimeMillis();
Arrays.sort(nums);// Arrays.sort()排序
endTime = System.currentTimeMillis();
System.out.println("Arrays.sort() 排序时间 : " + (endTime - startTime) + "\n\n");
//print(nums);
}
private static void initArray(int[] arr)//初始化
{
for (int i = 0; i < arr.length; i++)//初始化
{
arr[i] = ((int)(Math.random()*10000000)) % 10000;
}
}
private static void selectionSort(int[] arr)//选择排序
{
int temp;
int k;
for (int i = 0; i < arr.length; i++)
{
k = i;
for (int j = i+1; j < arr.length; j++)
{
if(arr[j] < arr[k])
k = j;
}
if(i != k)
{
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
private static void bubbleSort(int[] arr)//冒泡排序
{
int temp;
for (int i = arr.length - 1; i >= 1; i--)
{
for (int j = 0; j <= i-1; j++)
{
if(arr[i] < arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
/* for (int i = 0; i < arr.length-1; i ++ )//控制比较轮数
{
for (int j = i + 1; j < arr.length; j++)
{
if(arr[j] < arr[i])
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}*/
}
private static void print(int[] arr)
{
for (int i = 0; i < arr.length; i++)
{
System.out.print(arr[i] + " ");
if((i+1) % 10 == 0)
System.out.println();
}
}
}
/*
* Java 自带数组排序Arrays.sort(nums);
* Java自带时钟函数
* startTime = System.currentTimeMillis();//记录毫秒
*/
public class Test
{
public static void main(String[] args)
{
int[] nums = new int[100000];
initArray(nums);//初始化
long startTime = System.currentTimeMillis();//记时间
selectionSort(nums);// 选择排序
long endTime = System.currentTimeMillis();
System.out.println("选择排序时间: " + (endTime - startTime));
initArray(nums);//初始化
startTime = System.currentTimeMillis();
bubbleSort(nums);//冒泡排序
endTime = System.currentTimeMillis();
System.out.println("冒泡排序时间: " + (endTime - startTime) );
//print(nums);
initArray(nums);//初始化
startTime = System.currentTimeMillis();
Arrays.sort(nums);// Arrays.sort()排序
endTime = System.currentTimeMillis();
System.out.println("Arrays.sort() 排序时间 : " + (endTime - startTime) + "\n\n");
//print(nums);
}
private static void initArray(int[] arr)//初始化
{
for (int i = 0; i < arr.length; i++)//初始化
{
arr[i] = ((int)(Math.random()*10000000)) % 10000;
}
}
private static void selectionSort(int[] arr)//选择排序
{
int temp;
int k;
for (int i = 0; i < arr.length; i++)
{
k = i;
for (int j = i+1; j < arr.length; j++)
{
if(arr[j] < arr[k])
k = j;
}
if(i != k)
{
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
private static void bubbleSort(int[] arr)//冒泡排序
{
int temp;
for (int i = arr.length - 1; i >= 1; i--)
{
for (int j = 0; j <= i-1; j++)
{
if(arr[i] < arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
/* for (int i = 0; i < arr.length-1; i ++ )//控制比较轮数
{
for (int j = i + 1; j < arr.length; j++)
{
if(arr[j] < arr[i])
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}*/
}
private static void print(int[] arr)
{
for (int i = 0; i < arr.length; i++)
{
System.out.print(arr[i] + " ");
if((i+1) % 10 == 0)
System.out.println();
}
}
}
相关文章推荐
- Java基础总结 - 数组排序之归并排序
- 黑马程序员:Java基础总结----数组排序问题
- Java基础总结 - 数组排序之插入排序
- Java基础总结 - 数组排序之选择排序
- 黑马程序员 java基础 函数 数组 查找与排序总结
- Java基础总结 - 数组排序之交换排序
- 黑马程序员_java的语言基础组成最终篇(对第四课函数和数组的总结)
- Java数组排序总结(冒泡,选择,插入,希尔)
- (转) Java 数组排序总结 ( 冒泡,选择,插入,希尔)
- Java数组排序总结(冒泡,选择,插入,希尔)
- java 基础知识-数组的7种算法(排序、求和、最值、遍历...)
- 黑马程序员:Java基础总结-----Arrays 数组的工具类
- 黑马程序员--Java基础之语法和数组总结
- 黑马程序员_Java基础(数据类型、Java操作符、数组排序方法)
- java 基础知识-数组的7种算法(排序、求和、最值、遍历...)
- 黑马程序员 Java基础<一> 数组及排序
- 【C#基础知识】之结构、数组及常用的几种排序方法总结
- 关于java数组排序的总结
- Java数组排序总结(冒泡,选择,插入,希尔)
- 黑马程序员_Java基础 数组、数组工具类、文档注释总结