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

java快速排序

/**
 *  这段程序并不难,应该很好看懂,我把过程大致讲一下,首先你的脑子里先浮现一个数组和三个指针,
 *  第一个指针称为p指针,在整个过程结束之前它牢牢的指向第一个数,第二个指针和第三个指针分别为lo指针和hi指针,
 *  分别指向最左边的值和最右边的值。lo指针和hi指针从两边同时向中间逼近,在逼近的过程中不停的与p指针的值比较,
 *  如果lo指针的值比p指针的值小,lo++,还小还++,再小再++,直到碰到一个大于p指针的值,这时视线转移到hi指针,
 *  如果 hi指针的值比p指针的值大,hi--,还大还--,再大再--,直到碰到一个小于p指针的值。
 *  这时就把lo指针的值和hi指针的值做一个调换。持续这过程直到两个指针碰面,这时把p指针的值和碰面的值做一个调换,
 *  然后返回p指针新的位置。
 *
 * @author 75-qj
 * @version $Id: QuickSort.java, v 0.1 2010-3-4 上午11:09:35 75-qj Exp $
 */
public class QuickSort {
    /**
     * 主算法,运用递归
     *
     * @param n        待排序的数组
     * @param left     数组左边序号
     * @param right    数组右边序号
     */
    void quicksort(int n[], int left, int right) {
        int dp;
        if (left < right) {
            dp = partition(n, left, right);
            quicksort(n, left, dp - 1);
            quicksort(n, dp + 1, right); //这两个就是递归调用,分别整理53左边的数组和右边的数组
        }
    }
    /**
     * 返回中间值的位置,下面这函数就是做这个的。
     *
    


相关文档:

Java线程:volatile关键字

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

Java线程:新特征 有返回值的线程

Java线程:新特征-有返回值的线程
 
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。
 
现在Java终于有可返回值的任务(也可以叫做线程)了。
 
可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Ru ......

Java线程:新特征 锁(下)

Java线程:新特征-锁(下)
 
在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞争资源的安全访问,但是这种锁不区分读写,称这种锁为普通锁。为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,在一定程度上提高了程序的执行效率。
 
Java中读写锁有个接口java ......

Java线程:新特征 阻塞栈

Java线程:新特征-阻塞栈
 
对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。
 
这里要特别说明一点的是,阻塞栈是Java6的新特征。、
 
Java为阻塞栈定义了接口:java.util.concurrent.Block ......

java 视频处理 ffmpeg+mencoder

java 视频处理 ffmped+mencoder
转载自 http://huqilong.blog.51cto.com/53638/136985
 
ffmpeg+mencoder几乎可以完成目前基于web的播客平台任何音视频处理的操作.如果还需要添加一些什么的话,那么就是视频在线录制功能了,这个也可以用ffmpeg+fms来完成,因此一般的类似于YouTube的一些可见功能都可以在ffmpeg+menco ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号