亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sort.java

?? <算法導論>第二版大部分算法實現(xiàn). 1. 各類排序和順序統(tǒng)計學相關 2. 數(shù)據(jù)結構 2.1 基本數(shù)據(jù)結構 2.2 散列表 2.3 二叉查找樹 2.4 紅黑樹 2.5 數(shù)據(jù)結構
?? JAVA
字號:
/*
 * Copyright (C) 2000-2007 Wang Pengcheng <wpc0000@gmail.com>
 * Licensed to the Wang Pengcheng under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The LGPL licenses this file to You under the GNU Lesser General Public
 * Licence, Version 2.0  (the "License"); you may not use this file except in
 * compliance with the License.  You may obtain a copy of the License at
 *
 *     http://www.gnu.org/licenses/lgpl.txt
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 *
 *Sort.java
 *
 *******************************************************************************
 *This sort object has many sort algorithms,such as insertionsort and so on.
 *Sorts the specified list into ascending order, according to the natural
 * ordering of its elements.All elements in the list must implement the <I>Comparable</I> interface. 
 *Furthermore, all elements in the list must be mutually comparable (that is, e1.compareTo(e2)
 * must not throw a ClassCastException for any elements e1 and e2 in the list).
 *******************************************************************************
 *Remember:all the elements in the list must be sorted by the Comparable interface.
 *So you need to add the Comparable method in the list.
 *@author WPC
 *@version 1.0
 */
package cn.edu.whu.iss.algorithm.unit02;

import java.util.*;
import java.math.*;
import mypackage.tools.print.P;
/**
 * Sort set with many sort methods.
 * And many of them are from Algorithm unit 2.
 * @author wpc
 * @version 1.0.0
 */
public class Sort{
	
	/**
	 *InsertionSort
	 *The time limit of this sort is O(n^2)
	 *<strong>O(n^2)</strong>
	 *@param  element will be sorted
	 */
	public static <Type extends Comparable> void insertionSort(Type element[]){
		for(int j=1;j<element.length;j++){
			Type	key	=	element[j];
			int i	=	j-1;
			
			while( (i>=0)&&(element[i].compareTo(key)>0)){
				element[i+1]	=	element[i];
				i--;
			}
			element[i+1]	=	key;
		}
	}
	
	/**
	 *SelectionSort
	 *The time limit of this sort is o(n^2)
	 *<strong>O(n^2)</strong>
	 *@param  element will be sorted
	 */
	public static <Type extends Comparable> void selectionSort(Type element[]){
		for(int j=0;j<element.length-1;j++){
			int index	=	j;
			for(int i=j+1;i<element.length;i++){
				if(element[i].compareTo(element[index])<0){
					index	=	i;
				}
			}
			Type temp		=	element[j];
			element[j]		=	element[index];
			element[index]	=	temp;
		}
	}
	
	/**
	 *Merge used in the mergeSort
	 *<strong>O(n)</strong>
	 *@param element Type[] the elements to be merged
	 *@param p int the begin of the  first elements
	 *@param q int the end of the first elements
	 *@param r int the end of the second elements
	 */
	private static <Type extends Comparable> void merge(Type element[],int p,int q,int r){
		int nl	=	q-p+1;
		int nr	=	r-q;
		
		Type[] lElement,rElement;
		lElement	=	(Type[])java.lang.reflect.Array.newInstance(element.getClass().getComponentType(),nl);
		rElement	=	(Type[])java.lang.reflect.Array.newInstance(element.getClass().getComponentType(),nr);
				
		for(int i=0;i<nl;i++){
			lElement[i]	=	element[p+i];
		}
		for(int i=0;i<nr;i++){
			rElement[i]	=	element[q+i+1];
		}
		
		int i=0,j=0;
		int k	=	p;
		while((i<nl)&&(j<nr)){
			if(lElement[i].compareTo(rElement[j])<=0){
				element[k]	=	lElement[i];
				i++;
			}else{
				element[k]	=	rElement[j];
				j++;
			}
			k++;
		}
		
		while(i<nl){
			element[k]	=	lElement[i];
			i++;
			k++;
		}
		while(j<nr){
			element[k]	=	rElement[j];
			j++;
			k++;
		}
	}
	
	/**
	 *mergeSort
	 *Sort the elements by the compareTo method
	 *<strong>O(nlgn)</strong>
	 *@param  element Type[] that will be sorted
	 *@param p the begin of the list will be sorted
	 *@param r the end of the list will be sorted
	 */
	public static <Type extends Comparable> void mergeSort(Type element[],int p,int r){
		if(p<r){
			int q	=	(p+r)/2;
			mergeSort(element,p,q);
			mergeSort(element,q+1,r);
			merge(element,p,q,r);
		}
	}
	public static <Type extends Comparable> void mergeSort(Type element[]){
		mergeSort(element,0,element.length-1);
	}
	
	/**
	 *binaryInsertSort
	 *Sort the elements by the compareTo method
	 *<strong>O(n^2)</strong>
	 *@param  element Type[] that will be sorted
	 */
	public static <Type extends Comparable> void binaryInsertSort(Type element[]){
		for(int j=1;j<element.length;j++){
			Type key	=	element[j];
			int l	=	0,r	=	j-1;
			while(l<=r){
				int mid	=	(l+r)>>1;
				if(key.compareTo(element[mid])<0){
					r	=	mid-1;
				}else{
					l	=	mid+1;
				}
			}
			for(int i=j-1;i>=l;i--){
				element[i+1]	=	element[i];
			}
			element[l]	=	key;
		}
	}
	
	/**
	 *bubbleSort
	 *Sort the elements by the compareTo method
	 *<strong>O(n^2)</strong>
	 *@param element Type[] that will be sorted
	 */
	public static <Type extends Comparable> void bubbleSort(Type element[]){
		for(int i=0;i<element.length;i++){
			for(int j=element.length-1;j>=i+1;j--){
				if(element[j].compareTo(element[j-1])<0){
					Type temp		=	element[j];
					element[j]		=	element[j-1];
					element[j-1]	=	temp;
				}
			}
		}
	}

	/***************************************************************************
	 *Check method
	 **************************************************************************/
	public static void main(String[] args){
		final int MAX	=	15;
		Integer[] a	=	new Integer[MAX];
		Integer[] b	=	new Integer[MAX];
		Integer[] c	=	new Integer[MAX];
		Integer[] d	=	new	Integer[MAX];
		Integer[] f	=	new	Integer[MAX];

		for(int i=0;i<MAX;i++){
			a[i]=MAX-i;
			b[i]=MAX-i;
			c[i]=MAX-i;
			d[i]=MAX-i;
			f[i]=MAX-i;
		}
		for(int i=0;i<MAX;i++){
			P.rint(a[i]+",");
		}
		P.rintln();
		
		Sort.insertionSort(a);
		for(int i=0;i<MAX;i++){
			P.rint(a[i]+",");
		}
		P.rintln();
		
		Sort.selectionSort(b);
		for(int i=0;i<MAX;i++){
			P.rint(b[i]+",");
		}
		P.rintln();
		
		Sort.mergeSort(c);
		for(int i=0;i<MAX;i++){
			P.rint(c[i]+",");
		}
		P.rintln();
		
		Sort.binaryInsertSort(d);
		for(int i=0;i<MAX;i++){
			P.rint(d[i]+",");
		}
		P.rintln();
		
		Sort.bubbleSort(f);
		for(int i=0;i<MAX;i++){
			P.rint(f[i]+",");
		}
		P.rintln();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合激情| 国产精品99久久久久久久女警| 色噜噜夜夜夜综合网| 亚洲婷婷综合色高清在线| 99久久国产综合精品麻豆| 亚洲综合在线免费观看| 欧美影院一区二区| 日韩av午夜在线观看| 精品精品欲导航| 成人av网址在线观看| 亚洲欧洲综合另类在线| 51久久夜色精品国产麻豆| 精品一区二区三区欧美| 国产精品剧情在线亚洲| 一本久久综合亚洲鲁鲁五月天| 一区二区三区小说| 日韩一区二区不卡| 国产69精品久久久久毛片| 亚洲精品免费一二三区| 欧美成人精品1314www| 成人免费视频免费观看| 樱花影视一区二区| 欧美大片日本大片免费观看| av网站免费线看精品| 亚洲va中文字幕| 久久精品一区二区三区不卡| 欧美最猛黑人xxxxx猛交| 美国三级日本三级久久99| 国产喷白浆一区二区三区| 欧美吞精做爰啪啪高潮| 国产乱人伦偷精品视频不卡| 一区二区三区美女视频| 欧美精品一区二区三区在线 | 欧美一级欧美一级在线播放| 国产高清亚洲一区| 国产一区二区久久| 亚洲激情校园春色| 国产亚洲精品aa| 欧美日本一区二区在线观看| 成人黄页毛片网站| 老司机免费视频一区二区| 亚洲天堂av一区| 国产亚洲婷婷免费| 宅男在线国产精品| 色噜噜夜夜夜综合网| 国产99久久久久久免费看农村| 婷婷夜色潮精品综合在线| 国产精品高潮呻吟久久| 久久婷婷成人综合色| 欧美日韩精品福利| 一本一本大道香蕉久在线精品 | 国产一二精品视频| 亚洲观看高清完整版在线观看| 国产欧美一区二区精品久导航| 日韩三级视频在线观看| 在线欧美小视频| av一区二区三区| 成人aa视频在线观看| 国产麻豆精品久久一二三| 另类小说一区二区三区| 亚洲成人综合视频| 亚洲制服丝袜在线| 亚洲精品乱码久久久久久黑人 | 日本aⅴ精品一区二区三区| 亚洲一区在线播放| 曰韩精品一区二区| 亚洲视频 欧洲视频| 中文字幕亚洲欧美在线不卡| 中文字幕欧美激情一区| 国产视频视频一区| 久久夜色精品一区| 久久综合给合久久狠狠狠97色69| 欧美一区二区久久久| 欧美一区二区三区在| 91精品国产福利| 91精品国产色综合久久不卡电影| 欧美日本视频在线| 91精品国产一区二区三区蜜臀| 91精品欧美一区二区三区综合在| 欧美另类高清zo欧美| 欧美高清视频一二三区 | 一区二区在线观看免费 | 午夜电影一区二区| 日本免费在线视频不卡一不卡二| 日韩国产精品久久久久久亚洲| 亚洲成av人片| 久久国产精品99久久久久久老狼 | 91精品免费在线| 欧美一区在线视频| www激情久久| 国产精品午夜电影| 亚洲欧美韩国综合色| 亚洲成人一区二区在线观看| 亚洲成人av福利| 老司机精品视频在线| 在线免费亚洲电影| 欧美日韩高清在线播放| 欧美一二三四区在线| 久久免费精品国产久精品久久久久| 久久久久久久精| 亚洲欧美日韩小说| 日本不卡一区二区三区| 国内精品第一页| 色综合视频在线观看| 在线不卡a资源高清| 欧美电影免费观看高清完整版在线| 国产欧美一区二区三区鸳鸯浴| 国产精品视频一二三| 亚洲v中文字幕| 国产成人综合亚洲网站| 日本精品一区二区三区高清 | 精品少妇一区二区| 国产精品卡一卡二| 三级一区在线视频先锋| 国产乱码精品一区二区三区av| 91视频观看视频| 欧美电影免费提供在线观看| 国产精品福利影院| 免费观看成人av| 色综合天天做天天爱| 日韩一区二区免费电影| 亚洲精品免费在线播放| 精彩视频一区二区| 欧美亚洲自拍偷拍| 久久久www成人免费毛片麻豆| 一区2区3区在线看| 国产精品一区二区男女羞羞无遮挡| 欧美亚洲一区二区在线| 亚洲国产成人一区二区三区| 亚洲图片欧美一区| 成人av午夜电影| 精品国产欧美一区二区| 亚洲综合在线电影| 成人精品视频.| 精品人在线二区三区| 亚洲国产视频在线| 99视频一区二区| 久久综合九色综合欧美就去吻| 亚洲自拍另类综合| 成人av在线资源网站| 精品99久久久久久| 美女视频黄免费的久久| 欧美日韩一区成人| 亚洲天堂精品在线观看| 国产成人精品亚洲午夜麻豆| 欧美电影免费观看高清完整版在线 | 福利一区福利二区| 欧美一区二区在线观看| 亚洲一区在线观看免费观看电影高清| 成人国产精品免费| 久久久青草青青国产亚洲免观| 日本亚洲免费观看| 欧美三级电影精品| 亚洲一二三专区| 91麻豆自制传媒国产之光| 国产欧美一区视频| 国产福利一区二区三区在线视频| 欧美大尺度电影在线| 日本91福利区| 日韩午夜精品电影| 日本不卡视频一二三区| 日韩一区二区在线观看视频播放| 亚洲一二三级电影| 欧美体内she精高潮| 亚洲一二三区在线观看| 欧美亚洲综合在线| 午夜欧美视频在线观看| 欧美二区乱c少妇| 日韩福利视频导航| 日韩亚洲电影在线| 色综合久久66| 夜夜精品浪潮av一区二区三区| 日本韩国欧美一区| 亚洲永久免费视频| 欧美日韩一级视频| 日本va欧美va欧美va精品| 欧美一区二区三区在线| 精品在线观看视频| 国产欧美精品区一区二区三区 | 日韩福利电影在线观看| 日韩欧美一级特黄在线播放| 久久99国产精品成人| 日本一区二区电影| 色成年激情久久综合| 亚洲国产精品久久一线不卡| 欧美日韩国产综合一区二区| 麻豆精品国产传媒mv男同| 久久久亚洲国产美女国产盗摄| 国产成人av电影在线观看| 最新欧美精品一区二区三区| 欧美日韩在线三级| 久久国产尿小便嘘嘘尿| 欧美极品aⅴ影院| 在线免费观看日韩欧美| 日韩不卡免费视频| 中文av字幕一区| 欧美日韩国产经典色站一区二区三区 | 91在线一区二区三区| 亚洲国产综合人成综合网站| 日韩你懂的在线观看|