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

Java Arrays.sort Ô´Âë½âÎö primitive

    Java ArraysÖÐÌṩÁ˶ÔËùÓÐÀàÐ͵ÄÅÅÐò¡£ÆäÖÐÖ÷Òª·ÖΪprimitiveºÍObjectÁ½´óÀ࣬·Ö±ðʹÓÃÁË¿ìËÙÅÅÐòÓëºÏ²¢ÅÅÐò¡£±¾ÕÂÒÔint[] µÄÅÅÐò£¬½²½âJava¶ÔprimitiveÅÅÐò¡£
    Ê×ÏÈ´ó¼ÒÒªÁ˽âʲôÊÇ¿ìËÙÅÅÐò£¬ËüÓÐʲôÓŵ㣬ÕâЩÎҾͲ»ÀÛÊöÁË£¬¸ø³öµØÖ·¡£http://zh.wikipedia.org/zh/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F
ÔÚÁ˽âÁË»ù±¾Ô­ÀíÖ®ºó£¬ÉÏͼ¿ÉÒÔ¶¯Ì¬µÄչʾ¿ìËÙÅÅÐòµÄ»ù±¾Ë¼Â·¡£ºÜ¾­µä~
½ÓÏÂÀ´£¬ÎÒÃÇչʾԴÂ룬²¢×Ðϸ½²½â£¡
public static void sort(int[] a) {
sort1(a, 0, a.length);
}

Õâ¸ö·½·¨ÊǶÔÍⱩ¶µÄµ÷Óýӿڡ£ sort1 ÊÇÅÅÐò·½·¨µÄÖ÷Ì壬´«Èë²ÎÊý·Ö±ðΪ£º´ýÅÅÐòÊý×飬ÅÅÐòÆðʼλÖ㬴ýÅÅÐòÔªËØ³¤¶È¡£
sort1ÖÐʹÓõ½ÁíÍâ3¸ö·½·¨£¬Ê×ÏȽéÉÜ¡£
1. swap£º¼òµ¥µÄʹÓÃÖмä±äÁ¿À´½»»»Êý×éÄÚÔªËØ¡£
private static void swap(int x[], int a, int b) {
int t = x[a];
x[a] = x[b];
x[b] = t;
}

2.med3£º¼ÆËãÖÐÖµ¡£
private static int med3(int x[], int a, int b, int c) {
return (x[a] < x[b] ?
(x[b] < x[c] ? b : x[a] < x[c] ? c : a) :
(x[b] > x[c] ? b : x[a] > x[c] ? c : a));
}

3.vecswap£ºÅúÁ¿Òƶ¯ÔªËØ
private static void vecswap(int x[], int a, int b, int n) {
for (int i=0; i<n; i++, a++, b++)
swap(x, a, b);
}

Íòʾ㱸£¬¿ªÊ¼Ïê½â¡£
private static void sort1(int x[], int off, int len) {
// Insertion sort on smallest arrays
if (len < 7) {
for (int i=off; i<len+off; i++)
for (int j=i; j>off && x[j-1]>x[j]; j--)
swap(x, j, j-1);
return;
}

¿ªÍ·²¿·Ö±ãÅжϣ¬Èç¹ûÊý×鳤¶ÈСÓÚ7£¬±ãʹÓòåÈë·½·¨ÅÅÐò¡£
// Choose a partition element, v
int m = off + (len >> 1); // Small arrays, middle element
if (len > 7) {
int l = off;
int n = off + len - 1;
if (len > 40) { // Big arrays, pseudomedian of 9
int s = len/8;
l = med3(x, l, l+s, l+2*s);
m = med3(x, m-s, m, m+s);
n = med3(x, n-2*s, n-s, n);
}
m = med3(x, l, m, n); // Mid-size, med of 3
}
int v = x[m];

Èç¹û³¤¶È½Ï³¤£¬±ãÐ


Ïà¹ØÎĵµ£º

²ËÄñ¶ÔjavaµÄһЩÀ§»ó

ѧjavaÒѾ­ÓÐÒ»¶Îʱ¼äÁË¡£Ñ§µÄ¶«Î÷²»¶à£¬µ«ÎÒûÏëµ½½ö½öÃæÏò¹ý³ÌµÄһЩ֪ʶ£¨Loops£©¾Í¿ÉÒÔ×ö³öÏñÎå×ÓÆåÕâÑùµÄÓÎÏ·£¬ÎÒ²»µÃ²»¸Ð̾javaÓïÑÔµÄ÷ÈÁ¦¡£ÌرðÊÇÁ˽⵽javaµÄÓ¦ÓÃÖ®¹â·º£¬Éæ¼°ÊÖ»ú£¬Ç¶Èëʽ¿ª·¢£¬pc£¬ÆóÒµ¼°·þÎñÆ÷µÈÖ®ºó£¬ÎÒ¸ü¼á¶¨ÁËѧϰjavaµÄ¾öÐÄ¡£µ«ÊÇÎÒÒ²µ£ÐÄ×Ô¼ºÑ§²»°¡ºÃ¡£ºÜ¶à¶«Î÷¶¼ÊÇÔÚÀÏʦµÄÀÏÁìµ¼ÏÂÍê³ÉµÄ£ ......

Java±¾µØ½Ó¿Ú(Java Native Interface (JNI))

JNI¹¤×÷Ô­Àí
ÔÚJNIÖУ¬±¾µØº¯ÊýÊÇͨ¹ýÒ»¸ö¶ÀÁ¢µÄ.c»ò.cppÎļþÀ´ÊµÏÖµÄ(C++ΪJNIÌṩµÄ½çÃæ»á¸ü¼ò½àһЩ)¡£µ±JVMµ÷Óøú¯Êýʱ£¬Ëü´«µÝÁËÒ»¸öJNIEnvÖ¸Õë¡¢Ò»¸öjobjectÖ¸ÕëºÍͨ¹ýJava·½·¨¶¨ÒåµÄJava²ÎÊý£¬JNIº¯ÊýµÄÐÎʽÈçÏ£º
JNIEXPORT void JNICALL Java_ClassName_MethodName
  (JNIEnv *env, jobjectobj)
{ ......

C++ºÍJavaÖÐÀàÒýÓõÄÇø±ð


¡¡ÔÚC++ºÍJavaÖж¼´æÔÚÀàÒýÓã¬C++ÖÐÊÇÒªÃ÷È·Ö¸³öµÄ£¬ÏÔÐÔµÄ;¶øJavaÖÐÊÇÒþÐεġ£
¡¡¡¡ÔÚC++ÖУ¬"T &b=a;" ˵Ã÷bÊÇaµÄÒýÓã¬Á½ÕßÊÇͬÃû£¬Ö¸µÄͬһ¸ö¶«Î÷¡£¶ø·ÇÖ¸ÕëµÄÀàÉùÃ÷£¬¾Íͬʱ´´½¨ÁËÒ»¸öÀ࣬Èç"T a;"ʵ¼ÊÉÏaÒѾ­ÊµÀý»¯ÁË¡£¶øÉùÃ÷ÀàÒýÓÃʱ²»ÐèÒª´´½¨Ð¶ÔÏ󣬶øÊÇÖ±½ÓÖ¸ÏòÔ­À´µÄ¶ÔÏó¡£
¡¡¡¡ÀàÒýÓÃÔÚº¯ÊýµÄÐβκͷ ......

ʹÓÃJavaµÈ±ÈÀýËõ·ÅͼÏñ£¡

 Ëõ·ÅͼÏñµÄ»ù±¾Ô­ÀíÊÇ´´½¨Ò»¸öÄ¿±ê´óСµÄ»­²¼£¬È»ºó¶ÁȡԴͼÏñ£¬²¢½«¸ÃͼÏñ»æÖÆÕâ¸ö»­²¼ÉÏ¡£ÎªÁËʹ³ÌÐòͨÓã¬Ô´Í¼ÏñºÍËõ·ÅºóµÄÄ¿±êͼÏñÓ¦Ó÷ֱðʹÓà InputStreamºÍOutputStreamÀ´±íʾ£¬´úÂëÈçÏ£º
     public   static   void  scaleImage(InputStream imgInputStrea ......

javaËõ·ÅͼƬԭÀí

±¾ÎÄΪԭ´´£¬ÈçÐè×ªÔØ£¬Çë×¢Ã÷×÷Õߺͳö´¦£¬Ð»Ð»£¡
    Ëõ·ÅͼÏñµÄ»ù±¾Ô­ÀíÊÇ´´½¨Ò»¸öÄ¿±ê´óСµÄ»­²¼£¬È»ºó¶ÁȡԴͼÏñ£¬²¢½«¸ÃͼÏñ»æÖÆÕâ¸ö»­²¼ÉÏ¡£ÎªÁËʹ³ÌÐòͨÓã¬Ô´Í¼ÏñºÍËõ·ÅºóµÄÄ¿±êͼÏñÓ¦Ó÷ֱðʹÓà InputStreamºÍOutputStreamÀ´±íʾ£¬´úÂëÈçÏ£º
     public   stat ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ