java冒泡排序与快速排序
来源:互联网 发布:southrom知乎 编辑:程序博客网 时间:2024/04/30 00:28
package math;
import java.text.DecimalFormat;
public class Sort {
public static void main(String[] args) {
double[] arr = getDoubleArrs(21);
System.out.println("原始数据为:");
print(arr,7);
System.out.println("排序后的数据为:");
//bubbleSort(arr); // 冒泡排序
quickSort(arr); // 快速排序
print(arr, 7);
}
private static void quickSort(double[] arr) {
class QuickSort{
int partition(double[] arr, int start, int end) {
double point = arr[end];
int index = start;
for(int i=index; i<end; i++) {
if(arr[i] < point) {
swap(arr, index++, i);
}
}
swap(arr, index, end);
return index;
}
void swap(double[] arr, int i, int j) {
double temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
void qsort(double[] arr, int i, int j) {
if(i>=j) {
return;
}
int pos = partition(arr, i, j);
qsort(arr, i, pos-1);
qsort(arr, pos+1, j);
}
}
QuickSort quickSort= new QuickSort();
quickSort.qsort(arr, 0, arr.length-1);
}
private static void bubbleSort(double[] arr) {
for(int i=0,length=arr.length; i<length; i++) {
for(int j=i+1; j<length; j++) {
if(arr[i] > arr[j]) {
double temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
private static double[] getDoubleArrs(int length) {
int[] bs = new int[]{10,100,1000};
DecimalFormat[] dfs = {new DecimalFormat("#.0"),new DecimalFormat("#.00"),new DecimalFormat("#.000")};
double[] arr = new double[length];
for(int i=0; i<length; i++) {
arr[i]=Double.valueOf(dfs[i%3].format(Math.random()*bs[i%3]));
}
return arr;
}
private static void print(double[] arr, int rtn) {
int i=0;
for(double data : arr) {
System.out.print(data+"\t\t");
if(++i==rtn) {
System.out.println();
i=0;
}
}
System.out.println();
}
}
- java冒泡排序与快速排序
- Java冒泡排序与快速排序
- 冒泡排序与快速排序
- 冒泡排序与快速排序
- 冒泡排序与快速排序
- 冒泡排序与快速排序
- 冒泡排序与快速排序
- 冒泡排序与快速排序
- java 快速排序,冒泡排序
- java 冒泡排序、快速排序
- 排序(冒泡排序与快速排序)
- java:快速排序算法与冒泡排序算法
- java算法 冒泡排序 与 快速排序思想
- Java泛型使用冒泡排序与快速排序算法
- Java 冒泡排序与快速排序的实现
- Java-冒泡排序、快速排序、插入排序、快速排序
- Java 排序 快速排序 冒泡排序 选择排序 插入排序
- java 选择,冒泡,快速排序
- hdu-2089-不要62
- hdu-2189-悼念512汶川大地震遇难同胞——来生一起走
- hdoj2059 龟兔赛跑
- 读书笔记—用表驱动取代冗长的逻辑选择
- cantor数表
- java冒泡排序与快速排序
- 第三方集成qq sina
- 获取安全的VPN连接访问封锁站点和保护您的Internet连接
- JQuery获取下拉菜单某个选项的值
- UISlider
- POJ 1664
- ios--使用xcode+itunes打包成ipa
- sqlmap更新
- Android让Library中Manifest也包含进去