排序都有哪几种方法?请列举.用java实现一个插入排序快速排序伪代码快速排序java的伪代码 。
/
/使用快速排序方法对a[
:n-
1
]排序
把余下的元素分割为两段left
和r
i
g
h
t伪代码快速排序java,使得l
e
f
t中的元素都小于等于支点伪代码快速排序java , 而right
中的元素都大于等于支点
JAVA 100个数字用算法排序class SortTest { // 冒泡排序
public void sort(int[] args) {
for (int m : args) {
System.out.print("排序前 " + args[m] + " ");
}
int time1 = 0, time2 = 0;
for (int i = 0; iargs.length - 1; i++) {
++time1;
for (int j = i + 1; jargs.length; j++) {
++time2;
int temp;
if (args[i]args[j]) {
temp = args[j];
args[j] = args[i];
args[i] = temp;
}
}
}
System.out.println();
System.out.println("外循环次数:" + time1 + "内循环次数:" + time2);
for (int n : args) {
System.out.print("排序后 " + n + " ");
}
}
public static void main(String[] args) {
int[] arg = new int[] { 2, 1, 4, 5, 8, 7, 6, 3, 9, 0 };
new SortTest().sort(arg);
}
}
// 降序排列 循环次数最少
// 输出结果为:
// 排序前 4 排序前 1 排序前 8 排序前 7 排序前 9 排序前 3 排序前 6 排序前 5 排序前 0 排序前 2
// 外循环次数:9 内循环次数:45
// 排序后 0 排序后 1 排序后 2 排序后 3 排序后 4 排序后 5 排序后 6 排序后 7 排序后 8 排序后 9
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
* class name: RapidSort
* description: Java快速排序法:数组和集合
* @author Jr
*
*/
public class RapidSort {
public static void QuickSort(int e[], int first, int end) {
int i = first, j = end, temp = e[first];
while (ij) {
while (ije[j] = temp)
j--;
e[i] = e[j];
while (ije[i] = temp)
i++;
e[j] = e[i];
}
e[i] = temp;
if (firsti - 1)
QuickSort(e, first, i - 1);
if (endi + 1)
QuickSort(e, i + 1, end);
}
public static void main(String[] args) {
int arr[] = { 49, 38, 65, 97, 76, 13, 27, 49 };
int len = 8;
int i;
System.out.printf("before sort\n");
for (i = 0; ilen; i++)
System.out.printf("%d", arr[i]);
System.out.printf("\n");
QuickSort(arr, 0, len - 1);
System.out.printf("after sorted\n");
for (i = 0; ilen; i++)
System.out.printf("%d", arr[i]);
}
}
结果:
before sort
4938659776132749
after sorted
1327384949657697
JAVA中有哪几种常用的排序方法?排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码 。
/
/使用快速排序方法对a[
:n-
1
]排序
从a[
:n-
1
]中选择一个元素作为m
i
d
d
l
e,该元素为支点
把余下的元素分割为两段left
和r
i
g
h
t,使得l
e
f
t中的元素都小于等于支点,而right
中的元素都大于等于支点
递归地使用快速排序方法对left
进行排序
递归地使用快速排序方法对right
进行排序
所得结果为l
e
f
t
+
m
i
d
d
l
e
+
r
i
g
h
- 如何获取云服务器的源代码? 云服务器源代码怎么弄
- 如何设置云服务器的源代码? 云服务器源代码怎么设置
- mysql 快速查询 mysql快速匹配
- 如何修改云服务器的源代码? 云服务器源码怎么修改
- 如何寻找云服务器的源代码? 云服务器源码怎么找
- 如何配置云服务器的源代码? 云服务器源码怎么设置
- redis哨兵keepalive 代码redis哨兵
- 如何快速找到戴尔PE服务器? 戴尔服务器PE怎么近
- redis怎么写 redis打字代码
- mongodb部署架构 mongodb怎么设置快速部署
