冒泡排序法的三种方法。
来源:互联网 发布:淘宝十大女童模 编辑:程序博客网 时间:2024/05/22 01:36
冒泡法:
public class Sort{
public static void main(String[] args){
Random rand = new Random();
int numCount = 10;
int[] numArray = new int[numCount ];
for(int i = 0; i < 10; i++){
numArray[i] = rand.nextInt(1000);
}
System.out.println("排序前:");
Sort sort = new Sort();
sort.printArray(numArray);
sort.sort(numArray);
System.out.println("排序后:");
sort.printArray(numArray);
}
反向排序法:
public class QSortAlgorithm extends SortAlgorithm
{
private boolean pauseTrue(int lo, int hi) throws Exception {
super.pause(lo, hi);
return true;
}
void QuickSort(int a[], int lo0, int hi0) throws Exception
{
int lo = lo0;
int hi = hi0;
int mid;
if ( hi0 > lo0)
{
mid = a[ ( lo0 + hi0 ) / 2 ];
while( lo <= hi )
{
while( ( lo < hi0 ) && pauseTrue(lo0, hi0) && ( a[lo] < mid ))
++lo;
while( ( hi > lo0 ) && pauseTrue(lo0, hi0) && ( a[hi] > mid ))
--hi;
if( lo <= hi )
{
swap(a, lo, hi);
++lo;
--hi;
}
}
if( lo0 < hi )
QuickSort( a, lo0, hi );
if( lo < hi0 )
QuickSort( a, lo, hi0 );
}
}
private void swap(int a[], int i, int j)
{
int T;
T = a[i];
a[i] = a[j];
a[j] = T;
}
public void sort(int a[]) throws Exception
{
QuickSort(a, 0, a.length - 1);
}
}
快速排序法:
public class Sort{
public static void main(String[] args){
Random rand = new Random();
int numCount = 20;
int[] numArray = new int[numCount ];
for(int i = 0; i < 20; i++){
numArray[i] = rand.nextInt(1000);
}
System.out.println("排序前:");
Sort sort = new Sort();
sort.printArray(numArray);
sort.sort(numArray);
System.out.println("排序后:");
sort.printArray(numArray);
}
private boolean stopRequested;
public void printArray(int[] arr){
for(int i = 0 ; i < arr.length; i++){
System.out.println(arr[i]);
}
}
public void sort(int[] arr){
// 排序
for (int i = arr.length; --i>=0; ) {
boolean swapped = false;
for (int j = 0; j<i; j++) {
if (stopRequested) {
return;
}
if (arr[j] > arr[j+1]) {
int T = arr[j];
arr[j] = arr[j+1];
arr[j+1] = T;
swapped = true;
}
pause(i,j);
}
if (!swapped)
return;
}
}
private void pause(int i, int j) {
}
}
- 冒泡排序法的三种方法。
- 冒泡排序的三种实现方法
- 冒泡排序的三种实现方法
- 冒泡排序的三种方法
- 【C语言】冒泡法排序的三种实现方法
- 冒泡排序的三种实现方法-----python
- 三种排序方法:插入、冒泡、选择
- 冒泡排序三种实现方法
- [每日练习]三种冒泡排序方法
- 排序——冒泡排序(三种方法)
- 三种冒泡排序
- 冒泡排序的三种实现
- 冒泡排序的三种实现
- 冒泡排序的三种实现
- 冒泡排序的三种实现
- 冒泡排序的三种实现
- 冒泡排序的三种实现
- 冒泡排序的三种实现
- RedHat AS 5 yum源配置
- Google日历
- Struts2.1笔记(八):Struts2的拦截器
- 使用JavaScript动态追加表格的行和列
- Linux mysql改变字符集编码
- 冒泡排序法的三种方法。
- 夜思
- undo与redo的运行机制
- 链路层
- 交换两个数的位置
- 猜数字游戏---可以扩展为升级版
- SQL大全(二)
- Silverlight传递DataTable终极解决方案
- linux下获得root权限运行程序