易截截图软件、单文件、免安装、纯绿色、仅160KB

Java排序方法大全

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://as112255.blogbus.com/logs/38662785.html
package com.softeem.jbs.lesson4;
 
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("==========原始序列==========");
       


相关文档:

Java线程:线程的调度 休眠

Java线程:线程的调度-休眠
 
Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。
 
这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。
 
线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠 ......

Java线程:线程的调度 让步

Java线程:线程的调度-让步
 
线程的让步含义就是使当前运行着线程让出CPU资源,但是然给谁不知道,仅仅是让出,线程状态回到可运行状态。
 
线程的让步使用Thread.yield()方法,yield() 为静态方法,功能是暂停当前正在执行的线程对象,并执行其他线程。
 
/**
* Java线程:线程的调度-让步
*
......

Java线程:线程的调度 合并

Java线程:线程的调度-合并
 
线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。
 
join为非静态方法,定义如下:
void join()    
    等待该线程终止。   ......

Java线程:volatile关键字

Java线程:volatile关键字
 
Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。
 
谈及到volatile关键字,不得不提的一篇文章是:《Java ......

Java线程:新特征 阻塞栈

Java线程:新特征-阻塞栈
 
对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。
 
这里要特别说明一点的是,阻塞栈是Java6的新特征。、
 
Java为阻塞栈定义了接口:java.util.concurrent.Block ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号