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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? blocksort.c

?? 一個本地database引擎,支持中文T_Sql查詢,兼容DELPHI標(biāo)準(zhǔn)數(shù)據(jù)庫控件
?? C
?? 第 1 頁 / 共 3 頁
字號:
#undef     ISSET_BH#undef      WORD_BH#undef UNALIGNED_BH/*---------------------------------------------*//*--- The main, O(N^2 log(N)) sorting       ---*//*--- algorithm.  Faster for "normal"       ---*//*--- non-repetitive blocks.                ---*//*---------------------------------------------*//*---------------------------------------------*/static__inline__Bool mainGtU ( UInt32  i1,                UInt32  i2,               UChar*  block,                UInt16* quadrant,               UInt32  nblock,               Int32*  budget ){   Int32  k;   UChar  c1, c2;   UInt16 s1, s2;   AssertD ( i1 != i2, "mainGtU" );   /* 1 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 2 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 3 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 4 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 5 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 6 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 7 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 8 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 9 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 10 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 11 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   /* 12 */   c1 = block[i1]; c2 = block[i2];   if (c1 != c2) return (c1 > c2);   i1++; i2++;   k = nblock + 8;   do {      /* 1 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      /* 2 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      /* 3 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      /* 4 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      /* 5 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      /* 6 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      /* 7 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      /* 8 */      c1 = block[i1]; c2 = block[i2];      if (c1 != c2) return (c1 > c2);      s1 = quadrant[i1]; s2 = quadrant[i2];      if (s1 != s2) return (s1 > s2);      i1++; i2++;      if (i1 >= nblock) i1 -= nblock;      if (i2 >= nblock) i2 -= nblock;      k -= 8;      (*budget)--;   }      while (k >= 0);   return False;}/*---------------------------------------------*//*--   Knuth's increments seem to work better   than Incerpi-Sedgewick here.  Possibly   because the number of elems to sort is   usually small, typically <= 20.--*/staticInt32 incs[14] = { 1, 4, 13, 40, 121, 364, 1093, 3280,                   9841, 29524, 88573, 265720,                   797161, 2391484 };staticvoid mainSimpleSort ( UInt32* ptr,                      UChar*  block,                      UInt16* quadrant,                      Int32   nblock,                      Int32   lo,                       Int32   hi,                       Int32   d,                      Int32*  budget ){   Int32 i, j, h, bigN, hp;   UInt32 v;   bigN = hi - lo + 1;   if (bigN < 2) return;   hp = 0;   while (incs[hp] < bigN) hp++;   hp--;   for (; hp >= 0; hp--) {      h = incs[hp];      i = lo + h;      while (True) {         /*-- copy 1 --*/         if (i > hi) break;         v = ptr[i];         j = i;         while ( mainGtU (                     ptr[j-h]+d, v+d, block, quadrant, nblock, budget                  ) ) {            ptr[j] = ptr[j-h];            j = j - h;            if (j <= (lo + h - 1)) break;         }         ptr[j] = v;         i++;         /*-- copy 2 --*/         if (i > hi) break;         v = ptr[i];         j = i;         while ( mainGtU (                     ptr[j-h]+d, v+d, block, quadrant, nblock, budget                  ) ) {            ptr[j] = ptr[j-h];            j = j - h;            if (j <= (lo + h - 1)) break;         }         ptr[j] = v;         i++;         /*-- copy 3 --*/         if (i > hi) break;         v = ptr[i];         j = i;         while ( mainGtU (                     ptr[j-h]+d, v+d, block, quadrant, nblock, budget                  ) ) {            ptr[j] = ptr[j-h];            j = j - h;            if (j <= (lo + h - 1)) break;         }         ptr[j] = v;         i++;         if (*budget < 0) return;      }   }}/*---------------------------------------------*//*--   The following is an implementation of   an elegant 3-way quicksort for strings,   described in a paper "Fast Algorithms for   Sorting and Searching Strings", by Robert   Sedgewick and Jon L. Bentley.--*/#define mswap(zz1, zz2) \   { Int32 zztmp = zz1; zz1 = zz2; zz2 = zztmp; }#define mvswap(zzp1, zzp2, zzn)       \{                                     \   Int32 yyp1 = (zzp1);               \   Int32 yyp2 = (zzp2);               \   Int32 yyn  = (zzn);                \   while (yyn > 0) {                  \      mswap(ptr[yyp1], ptr[yyp2]);    \      yyp1++; yyp2++; yyn--;          \   }                                  \}static __inline__UChar mmed3 ( UChar a, UChar b, UChar c ){   UChar t;   if (a > b) { t = a; a = b; b = t; };   if (b > c) {       b = c;      if (a > b) b = a;   }   return b;}#define mmin(a,b) ((a) < (b)) ? (a) : (b)#define mpush(lz,hz,dz) { stackLo[sp] = lz; \                          stackHi[sp] = hz; \                          stackD [sp] = dz; \                          sp++; }#define mpop(lz,hz,dz) { sp--;             \                         lz = stackLo[sp]; \                         hz = stackHi[sp]; \                         dz = stackD [sp]; }#define mnextsize(az) (nextHi[az]-nextLo[az])#define mnextswap(az,bz)                                        \   { Int32 tz;                                                  \     tz = nextLo[az]; nextLo[az] = nextLo[bz]; nextLo[bz] = tz; \     tz = nextHi[az]; nextHi[az] = nextHi[bz]; nextHi[bz] = tz; \     tz = nextD [az]; nextD [az] = nextD [bz]; nextD [bz] = tz; }#define MAIN_QSORT_SMALL_THRESH 20#define MAIN_QSORT_DEPTH_THRESH (BZ_N_RADIX + BZ_N_QSORT)#define MAIN_QSORT_STACK_SIZE 100staticvoid mainQSort3 ( UInt32* ptr,                  UChar*  block,                  UInt16* quadrant,                  Int32   nblock,                  Int32   loSt,                   Int32   hiSt,                   Int32   dSt,                  Int32*  budget ){   Int32 unLo, unHi, ltLo, gtHi, n, m, med;   Int32 sp, lo, hi, d;   Int32 stackLo[MAIN_QSORT_STACK_SIZE];   Int32 stackHi[MAIN_QSORT_STACK_SIZE];   Int32 stackD [MAIN_QSORT_STACK_SIZE];   Int32 nextLo[3];   Int32 nextHi[3];   Int32 nextD [3];   sp = 0;   mpush ( loSt, hiSt, dSt );   while (sp > 0) {      AssertH ( sp < MAIN_QSORT_STACK_SIZE, 1001 );      mpop ( lo, hi, d );      if (hi - lo < MAIN_QSORT_SMALL_THRESH ||           d > MAIN_QSORT_DEPTH_THRESH) {         mainSimpleSort ( ptr, block, quadrant, nblock, lo, hi, d, budget );         if (*budget < 0) return;         continue;      }      med = (Int32)             mmed3 ( block[ptr[ lo         ]+d],                    block[ptr[ hi         ]+d],                    block[ptr[ (lo+hi)>>1 ]+d] );      unLo = ltLo = lo;      unHi = gtHi = hi;      while (True) {         while (True) {            if (unLo > unHi) break;            n = ((Int32)block[ptr[unLo]+d]) - med;            if (n == 0) {                mswap(ptr[unLo], ptr[ltLo]);                ltLo++; unLo++; continue;             };            if (n >  0) break;            unLo++;         }         while (True) {            if (unLo > unHi) break;            n = ((Int32)block[ptr[unHi]+d]) - med;            if (n == 0) {                mswap(ptr[unHi], ptr[gtHi]);                gtHi--; unHi--; continue;             };            if (n <  0) break;            unHi--;         }         if (unLo > unHi) break;         mswap(ptr[unLo], ptr[unHi]); unLo++; unHi--;      }      AssertD ( unHi == unLo-1, "mainQSort3(2)" );      if (gtHi < ltLo) {         mpush(lo, hi, d+1 );         continue;      }      n = mmin(ltLo-lo, unLo-ltLo); mvswap(lo, unLo-n, n);      m = mmin(hi-gtHi, gtHi-unHi); mvswap(unLo, hi-m+1, m);      n = lo + unLo - ltLo - 1;      m = hi - (gtHi - unHi) + 1;      nextLo[0] = lo;  nextHi[0] = n;   nextD[0] = d;      nextLo[1] = m;   nextHi[1] = hi;  nextD[1] = d;      nextLo[2] = n+1; nextHi[2] = m-1; nextD[2] = d+1;      if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);      if (mnextsize(1) < mnextsize(2)) mnextswap(1,2);      if (mnextsize(0) < mnextsize(1)) mnextswap(0,1);      AssertD (mnextsize(0) >= mnextsize(1), "mainQSort3(8)" );      AssertD (mnextsize(1) >= mnextsize(2), "mainQSort3(9)" );

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
卡一卡二国产精品| 亚洲一二三区在线观看| 国产精品一卡二卡| 久久久一区二区三区| 国产经典欧美精品| 亚洲视频一区在线观看| 欧美怡红院视频| 亚洲国产精品久久久久秋霞影院 | 亚洲chinese男男1069| 欧美手机在线视频| 免费成人在线网站| 国产欧美日韩在线| 色嗨嗨av一区二区三区| 日韩国产在线一| 久久老女人爱爱| 91色九色蝌蚪| 免费在线观看一区| 国产精品美女久久久久久久久久久| bt欧美亚洲午夜电影天堂| 亚洲一区影音先锋| 精品国产一区二区三区久久久蜜月| 国模大尺度一区二区三区| 国产精品美女久久久久久久久 | 欧美v日韩v国产v| 国产成人小视频| 一区二区激情小说| 欧美精品一区二区三区蜜桃视频| 成人精品视频一区| 亚洲国产精品一区二区久久| 日韩免费视频一区| 91视频.com| 麻豆免费看一区二区三区| 国产精品乱码妇女bbbb| 欧美日韩视频在线观看一区二区三区| 久久精品国产99国产| 亚洲色图视频网| 日韩精品一区二区三区在线观看 | 日产精品久久久久久久性色| 欧美激情一区不卡| 91精品国产综合久久婷婷香蕉 | 国产网红主播福利一区二区| 欧美日韩一区二区三区在线| 国产福利电影一区二区三区| 亚洲综合色视频| 欧美激情一区二区三区不卡 | 亚洲人成网站影音先锋播放| 日韩小视频在线观看专区| 色综合久久综合网欧美综合网 | 国产一区在线观看麻豆| 亚洲成人黄色小说| 国产精品丝袜91| 欧美大片拔萝卜| 欧美三级午夜理伦三级中视频| 丰满少妇在线播放bd日韩电影| 日韩中文字幕麻豆| 亚洲一区二区三区三| 国产精品福利一区| 久久影音资源网| 日韩欧美一级精品久久| 欧美日韩视频专区在线播放| 91网站在线观看视频| 成人免费视频视频| 国产一区二区福利视频| 久久99精品久久久久婷婷| 亚洲大片精品永久免费| 亚洲免费观看高清完整版在线观看 | 91精品国产色综合久久不卡蜜臀| 色先锋久久av资源部| voyeur盗摄精品| 成人av免费在线播放| 国产一区二区三区精品视频| 久久不见久久见免费视频1| 天天色天天操综合| 天天综合天天做天天综合| 夜夜揉揉日日人人青青一国产精品| 国产精品美女久久久久高潮| 亚洲国产精品传媒在线观看| 久久亚洲二区三区| 精品国产91亚洲一区二区三区婷婷| 欧美一二三区精品| 日韩一级黄色大片| 欧美一级专区免费大片| 欧美一区日本一区韩国一区| 91精品福利在线一区二区三区| 欧美欧美午夜aⅴ在线观看| 欧美日韩精品系列| 欧美肥妇毛茸茸| 91精品国产一区二区三区蜜臀 | 蜜芽一区二区三区| 久久精品99久久久| 精品亚洲国产成人av制服丝袜| 日本三级韩国三级欧美三级| 日本人妖一区二区| 国内成+人亚洲+欧美+综合在线| 精品亚洲免费视频| 成人av集中营| 欧美在线观看禁18| 91精品国产综合久久久久久久久久 | 久久99久久99精品免视看婷婷| 国内精品视频一区二区三区八戒 | 日韩av一级片| 精品中文字幕一区二区| 国产成人综合在线| 99riav一区二区三区| 欧美在线免费视屏| 日韩美女一区二区三区| 欧美国产一区视频在线观看| 亚洲精品大片www| 日韩av不卡一区二区| 国产精品资源网站| 欧美中文字幕一区| 欧美不卡一区二区三区四区| 国产精品视频免费| 婷婷一区二区三区| 成人午夜看片网址| 欧美日韩国产影片| 欧美国产一区视频在线观看| 亚洲成人av电影在线| 国产麻豆视频一区| 欧美日韩卡一卡二| 久久一区二区三区国产精品| 亚洲男女毛片无遮挡| 韩国毛片一区二区三区| 色综合色狠狠综合色| 精品国产伦一区二区三区观看方式| 国产精品素人一区二区| 免费在线一区观看| av不卡一区二区三区| 日韩一区二区电影网| 亚洲欧美激情视频在线观看一区二区三区| 午夜不卡av免费| eeuss鲁一区二区三区| 91精品国模一区二区三区| 成人欧美一区二区三区1314| 久久精品国产99国产精品| 色天使久久综合网天天| 久久久久97国产精华液好用吗| 亚洲国产欧美日韩另类综合| 成人精品免费看| 精品福利在线导航| 日韩精品一二区| 色先锋aa成人| 国产精品短视频| 国产米奇在线777精品观看| 欧美浪妇xxxx高跟鞋交| 亚洲欧洲日韩一区二区三区| 国产一区二区三区免费在线观看| 欧美精品久久一区二区三区 | 一区二区欧美精品| 成人午夜电影久久影院| 精品日韩av一区二区| 亚洲成人免费影院| 在线观看视频一区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 精品一区二区三区免费播放| 欧美久久久久久久久久| 亚洲一区在线观看视频| 色综合久久88色综合天天免费| 亚洲国产精品成人综合| 国产一区二区中文字幕| 精品国产91亚洲一区二区三区婷婷 | 午夜在线电影亚洲一区| 在线观看中文字幕不卡| 国产精品久久久久毛片软件| 国产91精品免费| 欧美激情一区二区在线| 成人午夜看片网址| 国产精品成人午夜| 一本大道久久a久久精二百| 亚洲色图制服诱惑| 色婷婷综合中文久久一本| 亚洲欧美另类久久久精品2019| 99精品久久99久久久久| 亚洲视频电影在线| 色婷婷久久久亚洲一区二区三区| 亚洲另类色综合网站| 在线影院国内精品| 日产欧产美韩系列久久99| 欧美一区二区三区视频在线| 久久不见久久见中文字幕免费| 精品剧情v国产在线观看在线| 狠狠色丁香久久婷婷综| 久久精品人人做人人综合| 国产不卡视频在线播放| 最新国产の精品合集bt伙计| 91美女片黄在线| 午夜精品久久久久久| 欧美大胆人体bbbb| 国产剧情一区在线| 国产精品久久久久久久久免费樱桃 | 欧美性色黄大片手机版| 日韩精品亚洲一区| 精品成人在线观看| 99久久久精品| 亚洲国产一区视频| 亚洲精品在线观看视频| 白白色亚洲国产精品| 亚洲v中文字幕| 亚洲精品一区二区三区四区高清| 国产99精品在线观看|