JAVA排序汇总
import
java.util.Random;
/**
*
排序测试类
*
*
排序算法的分类如下:
*
1.
插入排序(直接插入排序、折半插入排序、希尔排序);
*
2.
交换排序(冒泡泡排序、快速排序);
*
3.
选择排序(直接选择排序、堆排序);
*
4.
归并排序;
*
5.
基数排序。
*
*
关于排序方法的选择:
*
(1)
若
n
较小
(
如
n≤50)
,可采用直接插入或直接选择排序。
*
当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。
*
(2)
若文件初始状态基本有序
(
指正序
)
,则应选用直接插人、冒泡或随机的快速排序为宜;
*
(3)
若
n
较大,则应采用时间复杂度为
O(nlgn)
的排序方法:快速排序、堆排序或归并排序。
*
*/
public
class
SortTest {
/**
*
初始化测试数组的方法
*
@return
一个初始化好的数组
*/
public
int
[] createArray() {
Random random =
new
Random();
int
[] array =
new
int
[10];
for
(
int
i = 0; i < 10; i++) {
array[i] = random.nextInt(100) - random.nextInt(100);
//
生成两个随机数相减,保证生成的数中有负数
}
System.
out
.println(
"==========
相关文档:
这个学期的信息检索课要做一个大的作业,其实就是相当于一个搜索引擎,但是是基于本地文本文件的检索,不需要扒网页,也不能使用Lucence或Lemur等强大的第三方开源软件,要全部自己完成。
要说索引倒是十分简单,就是倒排而已,并没有什么复杂,而且第一版的作业要求只要以字为索引即可,而且不需要对结果进行排序和高亮显 ......
public class testthree {
public static void main(String[] args) {
testthree t = new testthree();
t.test();
}
private static void test() {
int d = 0;
int f = 4;
int x = 0;
int y = 6;
for (i ......
// 过滤特殊字符
public static String StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
S ......
我们知道栈是一种先进后出的数据容器。当一个栈的输入序列是递增序列(例如a,b,c,d),并且在进栈操作时,允许退栈操作,则输出的序列可能有多种形式(例如:d,c,b,a或a,c,b,d等)。但是却肯定不会出现如下出栈序列:a,d,b,c或d,a,b,c等。在输入序列为递增序列的假设下,请编写一个算法判断输入的字符串表示的出栈序列是否为 ......
Thread.currentThread().getName().equals("xxxx") 这条语句返回一个 bool 型的结果。判断当前运行的进程是否和 xxxx 的名字一样。
定义线程的两种方法:class a1 extends Thread{ } a1 xiancheng=new a1();
二是:用接口回调技术。 class a1 implements Runnable{ } a1 ......