Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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];

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


Ïà¹ØÎĵµ£º

Ubuntu9.10²Ù×÷ϵͳÏ´java¿ª·¢»·¾³

ÕâÊÇÎÒÔÚ°²×°ÍêUbuntu9.10ºó´ÓÍøÉÏËѵÄһЩ¹ØÓÚÅäÖÃJava¿ª·¢»·¾³µÄ×ÊÁÏ£¬ÔÚÕâÀïÒªÌØ±ð¸ÐлԭÎÄ×÷ÕßµÄÐÁÇÚÀͶ¯
Ï£ÍûÄܰ﷽±ã¸ü¶àµÄÈË£¬ÎÒ»áÔÚUbuntuµÄʹÓùý³ÌÖмÌÐøÊÕ¼¯ºÍ´´×÷һЩÏà¹ØÖªÊ¶£¬Ï£ÍûÄܶԴó¼ÒÓÐËù°ïÖú£¡£¡£¡
×ªÔØÇë±êÃ÷³ö´¦£º
xxm19820127
    http://blog.csdn.net/xxm19820127/archive/201 ......

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»ù´¡ÃæÊÔÌâ×ܽá

1.¾Ö²¿±äÁ¿ÔÚʹÓõÄʱºò±ØÐëÒѾ­±»³õʼ»¯
2.byte b=2,e=3
   byte c=b+c;   »á±àÒ벻ͨ¹ý£¬Ó¦Îªb+c»á×Ô¶¯ ÀàÐÍÌáÉýλint Èç¹ûÏëµÃµ½ byte c ±ØÐëÇ¿ÖÆ×ªÐÍ        byte c=(byte)b+c;         
3.f ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ