并发归并排序的思想:给定n个元素的序列,现在将每个元素看作一个有序序列(这样的序列一共有n个),然后相邻两个序列归并成一个有序序列;持续此过程,直到将所有有序序列归并成一个有序序列。
例如:
原始序列:12 5 7 4 8 13 9 23 6
第一次归并:5 12 4 7 8 13 9 23 6
第二次归并:4 5 7 12 8 9 13 23 6
第三次归并:4 5 7 8 9 12 13 23 6
第四次归并:4 5 6 7 8 9 12 13 23
代码:
class Guibing extends Thread{
//private Thread t ;
int []arr;
int left ,mid,right;
public Guibing(int[] arr, int left, int right){
this.arr=arr;
this.left=left;
// this.mid=mid;
this.right=right;
}
// public void start() {t.start();}
public void run() {
if(left<right) {
mid =(left+right)/2;
Guibing tid1 = new Guibing(arr,left,mid);
Guibing tid2 = new Guibing(arr,mid+1,right);
tid1.st