Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java sort Ô´Âë½âÎö Object part

  ÉϴηÖÎöÁËJava¶ÔprimitiveµÄÅÅÐò£¬Ê¹ÓõÄÊÇÓÅ»¯µÄ¿ìËÙÅÅÐòËã·¨¡£Õâ´Î½éÉÜJava¶ÔObject¶ÔÏó(Comparable)µÄÅÅÐò¡£
JavaʹÓÃÁ˹鲢¶ÔObjectÅÅÐò£¬¹ØÓڹ鲢ÅÅÐòµÄϸ½Ú£¬Çë²é¿´http://zh.wikipedia.org/zh/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F
¹é²¢ÅÅÐòÒ²ÓÐÒ»¸öÔËÐÐ״̬ͼ£¬²»¹ý¿´×Åȷʵͦ·Ñ½âµÄ =¡£=£¡
ÔÚÁ˽âÁ˹鲢ÅÅÐòµÄÔ­ÀíÖ®ºó£¬ÎÒÃÇչʾJavaµÄÔ´Â룬À´ÂýÂý·ÖÎö¡£
public static void sort(Object[] a) {
Object[] aux = (Object[])a.clone();
mergeSort(aux, a, 0, a.length, 0);
}

Ê×ÏÈËü¿Ë¡ÁËÒ»·Ý¿½±´£¬È»ºó°Ñ¿½±´ºÍÔ´Êý×é¶¼´«ÈëmergeSort·½·¨¡£¾ÍÊǵÚÒ»µÚ¶þ¸ö²ÎÊý¡£
ÁíÍâ3¸ö²ÎÊý·Ö±ðÊÇ£ºlow£¬high£¬off¡£lowºÍhighûɶ¶à˵µÄ£¬¾ÍÊÇÉÏϽ磬²»¹ýoffͦÓÐÒâ˼µÄ¡£Õâ¸ö±äÁ¿Ã»ÓУ¬Ò²²»Ó°Ïì
ÅÅÐòµÄÂß¼­¡£ÎªÊ²Ã´»áÓÐÄØ£¿ÏÈÂô¸ö¹Ø×Ó¡£

private static void
mergeSort(Object[] src,
Object[] dest,
int low,
int high,
int off) {
int length = high - low;
// Insertion sort on smallest arrays
if (length < INSERTIONSORT_THRESHOLD) {
for (int i=low; i<high; i++)
for (int j=i; j>low &&
((Comparable) dest[j-1]).
compareTo(dest[j])>0; j--)
swap(dest, j, j-1);
return;
}
Õâ¶Î¿´×ŷdz£ÊìϤ£¬¾ÍÊǵ±³¤¶ÈСÓÚINSERTIONSORT_THRESHOLDµÄʱºò£¬ÓòåÈëÅÅÐò¡£Õâ¸öÖµ£¬»¹ÊÇ7.
´ó¼ÒÈç¹û»¹¼ÇµÃÔÚ¿ìËÙÅÅÐòÖУ¬Ö±½Óhard codingÁËÒ»¸ö7¡£¿É¼û sun µÄ³ÌÐòÔ±£¬Ò²ÊÇ»áÓÐʧÎóµÄ£¡´ó¼Ò¶¼ÊÇÈË£¬Öйú³ÌÐòÔ±
Ö»Òª²»¸¡Ô꣬»¹ÊÇÄܹ»ºÜÅ£±ÆµÄ¡£¡£¡£  Óе㳶ԶÁË¡£
ÆäÖÐµÄ swap() ¾Í²»ÔÙÀÛÊöÁË¡£
int destLow = low;
int destHigh = high;
low += off;
high += off;
int mid = (low + high) >> 1;
mergeSort(dest, src, low, mid, -off);
mergeSort(dest, src, mid, high, -off);

½ÓÏÂÀ´Ò»¶Î£¬Êǵ±³¤¶È´óÓÚ7ʱ£¬°ÑÊý×é·ÖÁ½¶Ë£¬·Ö±ðµÝ¹éÅÅÐò¡£
ϸÐĵÄÈËÒѾ­·¢ÏÖÁ˰ÂÃîµÄµØ·½£¬ÔÚÍⲿµ÷ÓÃmergeSortʱ£¬´«ÈëµÄ²ÎÊý˳ÐòÊÇ src, dest¡£¿ÉÊÇËüµÝ¹éʱ£¬ÎªÊ²Ã´´«Èëdest£¬srcÄØ£¿
λÖû¥»»µ½µ×´ú±


Ïà¹ØÎĵµ£º

java·ºÐÍ ×ªÔØ


Ó¢ÎÄÔ­ÎĵØÖ·:
http://www.onjava.com/pub/a/onjava/2005/07/06/generics.html
ÖÐÎĵØÖ·:
http://www.matrix.org.cn/resource/article/43/43634_java_generics.html
¹Ø¼ü´Ê£º java generics java5
ÕªÒª
       ·ºÐÍÊÇJ2SE 5.0×îÖØÒªµÄÌØÐÔ¡£ËûÃÇÈÃÄãдһ¸ötype(Àà»ò½Ó¿Ú£©ºÍ´´½¨Ò»¸ö ......

Java¾ø¶ÔºÃÎÄ

1£® ¹ØÓÚ¶¯Ì¬¼ÓÔØ»úÖÆ??
ѧϰJava±ÈC++¸üÈÝÒ×Àí½âOOPµÄ˼Ï룬±Ï¾¹C++»¹»ìºÏÁ˲»ÉÙÃæÏò¹ý³ÌµÄ³É·Ö¡£ºÜ¶àÈ˶¼Äܱ³³öÀ´JavaÓïÑÔµÄÌØµã£¬ËùνµÄ¶¯Ì¬¼ÓÔØ»úÖÆµÈµÈ¡£µ±È»¸ÅÄîÍùÍùÊÇÏȼÇס¶øºóÏû»¯µÄ£¬¿ÉÓжàÉÙÈËÕæÕýÈ¥Ìå»á¹ý¶¯Ì¬¼ÓÔØµÄ»úÖÆ£¬ÊÔͼȥѰÕÒ¹ýÆäÖеÄϸ½ÚÄØ? Ìṩ´ó¼ÒÒ»¸ö·½·¨£º
ÔÚÃüÁîÐд°¿ÚÔËÐÐJava³ÌÐòµÄʱºò£¬¼ ......

JAVA³õÂóÌ(Touch)0.1

     JavaµÄ×¢ÏúÓï¾äǰҪʹÓÃ×¢ÊÍ·û“//”¡£
     ÀàÉùÃ÷¹Ø¼ü×Öclass´´½¨ÁËÒ»¸ö×Ô¶¨ÒåÀࣻÀàµÄÃû×ÖΪWelcome2£¬ÎªJavaÉùÃ÷ÀàÓï¾ä£ºclass Welcome2 {}¡£
     ·½·¨¹Ø¼ü×ÖmainÉùÃ÷ÁËmain()·½·¨£¬Àý£ºPublic static void main(String args[]) { ......

Java³ÌÐòÔ±µÄÍÆ¼öÔĶÁÊé¼®

Java³ÌÐòÔ±µÄÍÆ¼öÔĶÁÊé¼®¡·
JavaEye (http://www.javaeye.com)
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢Java±à³ÌÈëÃÅÀà ......

JavaÖÐʹÓÃÐźÅÁ¿——Semaphore

 Ö÷Ïß³ÌÖУº
InitThread initThread=new InitThread(new Semaphore(0));//³õʼ»¯Ò»¸ö×ÓỊ̈߳¬´«Ò»¸ö³õֵΪ0µÄÐźÅÁ¿¸øËü
Display.getDefault().asyncExec(initThread);
try {//´Ë´¦»á¹ÒÆð£¬Ö±µ½×ÓÏß³ÌÍê³É¹¤×÷£¬ÐÞ¸ÄÁËÐźÅÁ¿µÄÖµ£¬Ö÷Ï̲߳Żá¼ÌÐø
initThread.getSemaphore().acquire();
} catch (Inte ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ