• <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>
            posts - 183,  comments - 10,  trackbacks - 0
            遞增的有序順序表,插入元素并保持遞增有序。
            內存分配按照 2 被原則進行分配。

              1 #include <iostream>
              2 using namespace std;
              3 
              4 // 遞增有序的順序表
              5 template <typename Type>
              6 class IncTable
              7 {
              8 public:
              9     typedef Type  value_type;
             10     typedef Type* p_type;
             11     typedef unsigned int size_type;
             12     typedef p_type iterator;
             13     typedef const p_type const_iterator;
             14 private:
             15     p_type table;
             16     size_type size_;
             17     size_type capacity_;
             18 public:
             19     IncTable(int s = 1)
             20     {
             21         size_ = 0;
             22         capacity_ = s * 2;
             23         table = new value_type[capacity_];
             24         if (table == 0)
             25         {
             26             exit(0);
             27         }
             28     }
             29     ~IncTable()
             30     {
             31         delete [] table;
             32     }
             33     void insert(value_type item)
             34     {
             35         if (size_ >= capacity_)
             36         {
             37             reallocate(size_ * 2);
             38         }
             39         size_type ix = size_;
             40         while (ix > 0 && table[ix - 1> item)
             41         {
             42             table[ix] = table[ix - 1];
             43             --ix;
             44         }
             45         table[ix] = item;
             46         ++size_;
             47     }
             48     void reallocate(size_type size)
             49     {
             50         p_type p = new value_type[size];
             51         if (p == 0)
             52         {
             53             exit(1);
             54         }
             55         memcpy(p, table, sizeof (value_type) * size_);
             56         delete table;
             57         table = p;
             58         capacity_ = size;
             59     }
             60     size_type size()
             61     {
             62         return size_;
             63     }
             64     size_type capacity()
             65     {
             66         return capacity_;
             67     }
             68     iterator begin()
             69     {
             70         return table;
             71     }
             72     iterator end()
             73     {
             74         return table + size_;
             75     }
             76     const_iterator begin() const
             77     {
             78         return table;
             79     }
             80     const_iterator end() const
             81     {
             82         return table + size_;
             83     }
             84 };
             85 
             86 int main()
             87 {
             88     IncTable<int> t;
             89     for (int i = 10; i > 0--i)
             90     {
             91         t.insert(i);
             92     }
             93     for (int i = 0; i < 10++i)
             94     {
             95         t.insert(i);
             96     }
             97     for (IncTable<int>::iterator iter = t.begin(); iter != t.end(); ++iter)
             98     {
             99         cout << *iter << ' ';
            100     }
            101     cout << endl;
            102 }
            posted on 2011-04-24 01:39 unixfy 閱讀(567) 評論(0)  編輯 收藏 引用
            99久久免费只有精品国产| 久久电影网| 色综合久久久久久久久五月| 久久人人爽爽爽人久久久| 91精品国产91久久久久福利| 久久香蕉国产线看观看99| 久久无码国产| 91精品国产综合久久婷婷| 久久国产视屏| 欧美黑人又粗又大久久久 | 无码8090精品久久一区| 无码人妻久久一区二区三区免费| 91精品国产91久久久久久| 久久综合亚洲色一区二区三区| 国产精品久久波多野结衣| 亚洲国产成人久久一区WWW| 女人香蕉久久**毛片精品| 99久久精品国产一区二区| 国产精品99久久久久久猫咪| 人妻精品久久无码区| 久久综合色老色| 久久AAAA片一区二区| 久久99国产精品久久99果冻传媒 | 欧美亚洲色综久久精品国产| 久久国产精品免费一区二区三区| 精品国际久久久久999波多野| 久久强奷乱码老熟女网站 | 国产AV影片久久久久久| 国产精品久久久久aaaa| 欧美牲交A欧牲交aⅴ久久| 国产精品久久新婚兰兰| 久久国内免费视频| 欧美激情精品久久久久久| 久久AⅤ人妻少妇嫩草影院| 亚洲一本综合久久| 色综合久久88色综合天天| 国产成人精品久久一区二区三区 | 国产精品乱码久久久久久软件| 污污内射久久一区二区欧美日韩| 亚洲精品综合久久| 伊人久久大香线蕉av不卡|