[ת]³£ÓÃÅÅÐòËã·¨·ÖÎöÓëʵÏÖ£¨Ò»£©£¨Java°æ£©
ÔÚÒѾÅźÃÐòµÄÐòÁÐÖвéÕÒ´ý²åÈëµÄÔªËØµÄ²åÈëλÖ㬲¢½«´ý²åÈëÔªËØ²åÈëµ½ÓÐÐòÁбíÖеĹý³Ì¡£
½«Êý×é·Ö³ÉÁ½²¿·Ö£¬³õʼ»¯Ê±£¬Ç°²¿·ÖÊý×éΪֻÓеÚÒ»¸öÔªËØ£¬ÓÃÀ´´æ´¢ÒÑÅÅÐòÔªËØ£¬ÎÒÃÇÕâÀï½Ð arr1 £»ºó²¿·ÖÊý×éµÄÔªËØÎª³ýµÚÒ»¸öÔªËØµÄËùÓÐÔªËØ£¬Îª´ýÅÅÐò»ò´ý²åÈëÔªËØ£¬ÎÒÃÇÕâÀï½Ð arr2 ¡£
ÅÅÐòʱʹÓöþ²ãÑ»·£ºµÚÒ»²ã¶Ô arr2 ½øÐÐÑ»·£¬Ã¿´ÎÈ¡ºó²¿·ÖÊý×飨´ýÅÅÐòÊý×飩ÀïµÄµÚÒ»¸öÔªËØ£¨ÎÒÃdzÆÎª´ýÅÅÐòÔªËØ»ò³Æ´ý²åÈëÔªËØ£© e1 £¬È»ºóÔÚµÚ¶þ²ãÑ»·ÖÐ¶Ô arr1 £¨ÒÑÅźÃÐòµÄÊý×飩´ÓµÚÒ»¸öÔªËØÍùºó½øÐÐÑ»·£¬²éµ½µÚÒ»¸ö´óÓÚ´ý²åÈëÔªËØ£¨Èç¹ûÊÇÉýÐòÅÅÁУ©»òµÚÒ»¸öСÓÚ´ý²åÈëÔªËØ£¨Èç¹ûÊǽµÐòÅÅÁУ© e2 £¬È»ºó¶Ô arr1 ´Ó e2 ÔªËØ¿ªÊ¼ÍùºóµÄËùÓÐÔªËØÏòºóÒÆ£¬×îºó°Ñ e1 ²åÈëµ½ÔÀ´ e2 ËùÔÚµÄλÖá£ÕâÑù·´¸´µØ¶Ô arr2 ½øÐÐÑ»·£¬Ö±µ½ arr2 ÖÐËùÓеĴý²åÈëµÄÔªËØ¶¼²åÈëµ½ arr1 ÖС£
Java´úÂë
package sort;
import java.util.Comparator;
/**
* Ö±½Ó²åÈëÅÅÐòËã·¨
* @author jzj
* @date 2009-12-5
*
* @param <E>
*/
public class InsertSort<E extends Comparable<E>> extends Sort<E> {
/**
* ÅÅÐòËã·¨µÄʵÏÖ£¬¶ÔÊý×éÖÐÖ¸¶¨µÄÔªËØ½øÐÐÅÅÐò
* @param array ´ýÅÅÐòµÄÊý×é
* @param from ´ÓÄÄÀ↑ʼÅÅÐò
* @param end Åŵ½ÄÄÀï
* @param c ±È½ÏÆ÷
*/
public void sort(E[] array, int from, int end, Comparator<E> c) {
/*
* µÚÒ»²ãÑ»·£º¶Ô´ý
Ïà¹ØÎĵµ£º
package Demo;
// ÆÕͨ·ºÐÍ
class Point<T> { // ´Ë´¦¿ÉÒÔËæ±ãд±êʶ·ûºÅ£¬TÊÇtypeµÄ¼ò³Æ
private T var; // varµÄÀàÐÍÓÉTÖ¸¶¨£¬¼´£ºÓÉÍⲿָ¶¨
public T getVar() { // ·µ»ØÖµµÄÀàÐÍÓÉÍⲿ¾ö¶¨
return var;
}
public void setVar(T var) { // ÉèÖõÄÀàÐÍÒ²ÓÉÍⲿ¾ö¶¨
this.var = var;
}
}
publi ......
package Demo;
// Java·ºÐÍ·½·¨
class Demo26 {
public <T> T fun(T t) { // ¿ÉÒÔ½ÓÊÕÈÎÒâÀàÐ͵ÄÊý¾Ý
return t; // Ö±½Ó°Ñ²ÎÊý·µ»Ø
}
}
public class GenericsDemo26 {
public static void main(String args[]) {
Demo26 d = new Demo26(); // ʵÀý»¯Demo¶ÔÏó
String str = d.fun("it"); // ´«µÝ× ......
package Demo;
// ʹÓ÷ºÐÍͳһ´«ÈëµÄ²ÎÊýÀàÐÍ
class Info28<T> {
private T var; // ´ËÀàÐÍÓÉÍⲿ¾ö¶¨
public T getVar() {
return this.var;
}
public void setVar(T var) {
this.var = var;
}
public String toString() { // ¸²Ð´ObjectÀàÖеÄtoString()·½·¨
return this.var.toString();
......
package Demo;
// Java·ºÐÍÊý×é
public class GenericsDemo30 {
public static void main(String args[]) {
Integer i[] = fun1(1, 2, 3, 4, 5, 6); // ·µ»Ø·ºÐÍÊý×é
fun2(i);
}
public static <T> T[] fun1(T... arg) { // ½ÓÊտɱä²ÎÊý
return arg; // ·µ»Ø·ºÐÍÊý×é
}
public static <T> ......