青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 183,  comments - 10,  trackbacks - 0

二分查找的變形

傳統的二分查找
數組時有序的,要么升序要么降序,這里不考慮重復元素出現的情況。

int foo(int a[], int n, int item)
{
    
int left = 0, right = n - 1;
    
int middle = 0;
    
while (left <= right)
    {
        middle 
= (left + right) / 2;
        
if (item > a[middle])
        {
            left 
= middle + 1;
        }
        
else if (item < a[middle])
        {
            right 
= middle - 1;
        }
        
else
        {
            
return middle;
        
        }
    }
    
return -1;
}

 


二分查找的變形
給定一個數組 int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
如果對該數組調整為
{6, 7, 8, 9, 10, 1, 2, 3, 4, 5}
調整后即是兩個連續有序序列,只不過整體不有序
還是用二分策略,但是具體細節需要改進
整體結構還是一樣的
具體補充的是當待查找元素與中間元素不相等時,
如果小于,還要檢測 item 與 a[left] 的大小關系
如果大于,還要檢測 item 與 a[right] 的大小關系

int bar(int a[], int n, int item)
{
    
int left = 0, right = n - 1;
    
int middle = 0;
    
while (left <= right)
    {
        middle 
= (left + right) / 2;
        
if (item < a[middle])
        {
            
if (a[left] < item)
            {
                right 
= middle - 1;
            }
            
else if (a[left] > item)
            {
                left 
= middle + 1;
            }
            
else
            {
                
return left;
            }
            
// right = middle - 1;
        }
        
else if (item > a[middle])
        {
            
if (a[right] > item)
            {
                left 
= middle + 1;
            }
            
else if (a[right] < item)
            {
                right 
= middle - 1;
            }
            
else
            {
                
return right;
            }
        }
        
else
        {
            
return middle;
        }
    }
    
return -1;
}

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int foo(int a[], int n, int item)
 5 {
 6     int left = 0, right = n - 1;
 7     int middle = 0;
 8     while (left <= right)
 9     {
10         middle = (left + right) / 2;
11         if (item > a[middle])
12         {
13             left = middle + 1;
14         }
15         else if (item < a[middle])
16         {
17             right = middle - 1;
18         }
19         else
20         {
21             return middle;
22         
23         }
24     }
25     return -1;
26 }
27 
28 int bar(int a[], int n, int item)
29 {
30     int left = 0, right = n - 1;
31     int middle = 0;
32     while (left <= right)
33     {
34         middle = (left + right) / 2;
35         if (item < a[middle])
36         {
37             if (a[left] < item)
38             {
39                 right = middle - 1;
40             }
41             else if (a[left] > item)
42             {
43                 left = middle + 1;
44             }
45             else
46             {
47                 return left;
48             }
49             // right = middle - 1;
50         }
51         else if (item > a[middle])
52         {
53             if (a[right] > item)
54             {
55                 left = middle + 1;
56             }
57             else if (a[right] < item)
58             {
59                 right = middle - 1;
60             }
61             else
62             {
63                 return right;
64             }
65         }
66         else
67         {
68             return middle;
69         }
70     }
71     return -1;
72 }
73 
74 int main()
75 {
76     int a[] = {12345678910};
77     cout << foo(a, sizeof (a) / sizeof (*a), 3<< endl;
78     int b[] = {67891012345};
79     cout << bar(b, sizeof (b) / sizeof (*b), 5<< endl;
80     return 0;
81 }

實現:



posted on 2011-10-29 00:04 unixfy 閱讀(195) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产老妈| 狠狠色丁香久久婷婷综合_中| 欧美日韩综合视频网址| 亚洲国产精品成人综合色在线婷婷 | 久久国产精品99国产精| 亚洲国产精品精华液2区45| 亚洲午夜精品网| 国产欧美一二三区| 亚洲综合精品自拍| 亚洲精品国产精品国自产观看浪潮 | 欧美福利小视频| 久久久久免费观看| 亚洲美女少妇无套啪啪呻吟| 日韩五码在线| 欧美国产日韩免费| 亚洲女人天堂成人av在线| 亚洲欧美视频一区| 亚洲二区免费| 999在线观看精品免费不卡网站| 国产精品久久久久99| 久久精品国产亚洲一区二区| 亚洲中字黄色| 国产欧美综合在线| 午夜影视日本亚洲欧洲精品| 9色国产精品| 国产精品视频xxxx| 蜜臀av一级做a爰片久久| 欧美日韩国产限制| 久久人人爽人人爽| 欧美日韩视频在线第一区| 久久精品国产69国产精品亚洲| 在线中文字幕日韩| 亚洲欧美三级伦理| 欧美专区中文字幕| 一本色道久久综合狠狠躁篇的优点| 一本色道久久综合亚洲精品不卡| 欧美日韩亚洲视频一区| 久久久精品网| 欧美人交a欧美精品| 99精品黄色片免费大全| 午夜激情综合网| 99天天综合性| 欧美主播一区二区三区| 一区二区三区四区五区精品视频 | 欧美一区三区二区在线观看| 亚洲午夜极品| 精品999在线观看| 99精品国产一区二区青青牛奶| 国产精品久久久久一区| 久久免费视频网站| 久久青草久久| 久久久福利视频| 欧美xx视频| 久久综合狠狠综合久久综青草 | 久久女同精品一区二区| 久久成人免费视频| 欧美日韩无遮挡| 欧美激情视频一区二区三区不卡| 亚洲欧美激情诱惑| 免费成人高清视频| 性色av香蕉一区二区| 欧美精品乱码久久久久久按摩| 久久久久久久久蜜桃| 国产美女扒开尿口久久久| 欧美日韩免费精品| 欧美一区二区在线观看| 亚洲激情视频在线观看| 另类图片综合电影| 香蕉久久精品日日躁夜夜躁| 欧美不卡视频一区发布| 亚洲欧美国产视频| 99精品久久| 美女主播精品视频一二三四| 亚洲综合色在线| 99视频一区二区| 黄色亚洲精品| 国产乱子伦一区二区三区国色天香 | 麻豆成人在线播放| 午夜激情亚洲| 亚洲国产精品久久| 亚洲欧美日韩一区在线| 国产精品视频区| 国产精品www色诱视频| 欧美日本在线播放| 欧美精品久久一区| 亚洲桃色在线一区| 欧美影院视频| 99国产精品一区| 激情av一区二区| 永久久久久久| 亚洲免费观看| 亚洲午夜久久久久久尤物 | 久久久夜夜夜| 久久偷窥视频| 一区二区在线观看视频| 亚洲欧美综合网| 久久夜色精品国产欧美乱极品| 欧美一级网站| 欧美不卡一区| 玖玖玖国产精品| 欧美国产丝袜视频| 91久久国产综合久久| 欧美激情1区2区| 国模精品娜娜一二三区| 在线观看亚洲专区| 亚洲精品久久久久| 欧美一区2区三区4区公司二百| 免费观看不卡av| 一区二区三欧美| 麻豆freexxxx性91精品| 欧美日韩三级电影在线| 国产精品va在线播放我和闺蜜| 国产日韩欧美在线视频观看| 国产农村妇女精品一二区| 狠狠操狠狠色综合网| 91久久一区二区| 久久一日本道色综合久久| 9久re热视频在线精品| 久久成人av少妇免费| 亚洲欧美日韩国产成人精品影院| 欧美日韩性视频在线| 亚洲国产精品成人一区二区 | 欧美精选一区| 欧美在线啊v一区| 欧美激情视频给我| 国精品一区二区| 久久久久久精| 久久人人爽人人| 免费在线看成人av| 久久综合久久美利坚合众国| 国产欧美一区在线| 欧美a级片网| 亚洲免费在线| 亚洲九九精品| 久久蜜桃av一区精品变态类天堂| 中文精品99久久国产香蕉| 国产日韩免费| 欧美成人午夜免费视在线看片| 亚洲免费在线视频一区 二区| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲一区二区三区在线视频| 精品91免费| 国产精品一区二区久久久久| 欧美屁股在线| 久久综合九色九九| 午夜精彩国产免费不卡不顿大片| 最近看过的日韩成人| 免费欧美日韩国产三级电影| 午夜欧美大片免费观看| 亚洲韩国青草视频| 国产午夜精品视频免费不卡69堂| 欧美成人精品一区二区| 午夜久久99| 亚洲一区二区久久| 欧美国产精品劲爆| 午夜精品久久久久久久99樱桃| 一区二区亚洲| 国产视频亚洲精品| 国产精品欧美久久| 欧美日韩国产精品| 久久综合九色欧美综合狠狠| 亚洲午夜视频| 一区二区三区www| 欧美国产亚洲另类动漫| 久久久亚洲高清| 久久激情综合网| 一区二区欧美精品| 一区二区三区免费观看| 国产精品99久久久久久人| 一区二区三区高清在线观看| 宅男噜噜噜66一区二区| 一区二区三区国产精品| 性欧美激情精品| 欧美在线欧美在线| 久久精品一区中文字幕| 欧美成人精品影院| 亚洲国产导航| 亚洲婷婷综合久久一本伊一区| 亚洲视频福利| 亚洲激情在线视频| 亚洲在线一区二区三区| 亚洲欧美日韩中文在线制服| 亚洲小说区图片区| 性色av一区二区三区| 免费在线日韩av| 亚洲自拍偷拍福利| 欧美综合第一页| 久久琪琪电影院| 亚洲电影免费观看高清完整版在线观看| 欧美成人亚洲成人| 亚洲精品国产欧美| 亚洲性线免费观看视频成熟| 国产乱码精品一区二区三区忘忧草| 欧美电影免费观看高清完整版| 亚洲一区二区三区四区五区黄 | 久久综合伊人77777麻豆| 午夜精品在线视频| 欧美激情性爽国产精品17p| 亚洲精品免费网站| 欧美伊人久久久久久久久影院|