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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stl_algo.h

?? TSP問題的一個類庫 有源代碼和stl
?? H
?? 第 1 頁 / 共 5 頁
字號:
}

template <class _ForwardIter, class _Integer, class _Tp, class _BinaryPred>
_ForwardIter search_n(_ForwardIter __first, _ForwardIter __last,
                      _Integer __count, const _Tp& __val,
                      _BinaryPred __binary_pred) {
  if (__count <= 0)
    return __first;
  else {
    while (__first != __last) {
      if (__binary_pred(*__first, __val))
        break;
      ++__first;
    }
    while (__first != __last) {
      _Integer __n = __count - 1;
      _ForwardIter __i = __first;
      ++__i;
      while (__i != __last && __n != 0 && __binary_pred(*__i, __val)) {
        ++__i;
        --__n;
      }
      if (__n == 0)
        return __first;
      else {
        while (__i != __last) {
          if (__binary_pred(*__i, __val))
            break;
          ++__i;
        }
        __first = __i;
      }
    }
    return __last;
  }
} 

// swap_ranges

template <class _ForwardIter1, class _ForwardIter2>
_ForwardIter2 swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1,
                          _ForwardIter2 __first2) {
  for ( ; __first1 != __last1; ++__first1, ++__first2)
    iter_swap(__first1, __first2);
  return __first2;
}

// transform

template <class _InputIter, class _OutputIter, class _UnaryOperation>
_OutputIter transform(_InputIter __first, _InputIter __last,
                      _OutputIter __result, _UnaryOperation __opr) {
  for ( ; __first != __last; ++__first, ++__result)
    *__result = __opr(*__first);
  return __result;
}

template <class _InputIter1, class _InputIter2, class _OutputIter,
          class _BinaryOperation>
_OutputIter transform(_InputIter1 __first1, _InputIter1 __last1,
                      _InputIter2 __first2, _OutputIter __result,
                      _BinaryOperation __binary_op) {
  for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result)
    *__result = __binary_op(*__first1, *__first2);
  return __result;
}

// replace, replace_if, replace_copy, replace_copy_if

template <class _ForwardIter, class _Tp>
void replace(_ForwardIter __first, _ForwardIter __last,
             const _Tp& __old_value, const _Tp& __new_value) {
  for ( ; __first != __last; ++__first)
    if (*__first == __old_value)
      *__first = __new_value;
}

template <class _ForwardIter, class _Predicate, class _Tp>
void replace_if(_ForwardIter __first, _ForwardIter __last,
                _Predicate __pred, const _Tp& __new_value) {
  for ( ; __first != __last; ++__first)
    if (__pred(*__first))
      *__first = __new_value;
}

template <class _InputIter, class _OutputIter, class _Tp>
_OutputIter replace_copy(_InputIter __first, _InputIter __last,
                         _OutputIter __result,
                         const _Tp& __old_value, const _Tp& __new_value) {
  for ( ; __first != __last; ++__first, ++__result)
    *__result = *__first == __old_value ? __new_value : *__first;
  return __result;
}

template <class Iterator, class _OutputIter, class _Predicate, class _Tp>
_OutputIter replace_copy_if(Iterator __first, Iterator __last,
                            _OutputIter __result,
                            _Predicate __pred, const _Tp& __new_value) {
  for ( ; __first != __last; ++__first, ++__result)
    *__result = __pred(*__first) ? __new_value : *__first;
  return __result;
}

// generate and generate_n

template <class _ForwardIter, class _Generator>
void generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen) {
  for ( ; __first != __last; ++__first)
    *__first = __gen();
}

template <class _OutputIter, class _Size, class _Generator>
_OutputIter generate_n(_OutputIter __first, _Size __n, _Generator __gen) {
  for ( ; __n > 0; --__n, ++__first)
    *__first = __gen();
  return __first;
}

// remove, remove_if, remove_copy, remove_copy_if

template <class _InputIter, class _OutputIter, class _Tp>
_OutputIter remove_copy(_InputIter __first, _InputIter __last,
                        _OutputIter __result, const _Tp& __value) {
  for ( ; __first != __last; ++__first)
    if (*__first != __value) {
      *__result = *__first;
      ++__result;
    }
  return __result;
}

template <class _InputIter, class _OutputIter, class _Predicate>
_OutputIter remove_copy_if(_InputIter __first, _InputIter __last,
                           _OutputIter __result, _Predicate __pred) {
  for ( ; __first != __last; ++__first)
    if (!__pred(*__first)) {
      *__result = *__first;
      ++__result;
    }
  return __result;
}

template <class _ForwardIter, class _Tp>
_ForwardIter remove(_ForwardIter __first, _ForwardIter __last,
                    const _Tp& __value) {
  __first = find(__first, __last, __value);
  _ForwardIter __i = __first;
  return __first == __last ? __first 
                           : remove_copy(++__i, __last, __first, __value);
}

template <class _ForwardIter, class _Predicate>
_ForwardIter remove_if(_ForwardIter __first, _ForwardIter __last,
                       _Predicate __pred) {
  __first = find_if(__first, __last, __pred);
  _ForwardIter __i = __first;
  return __first == __last ? __first 
                           : remove_copy_if(++__i, __last, __first, __pred);
}

// unique and unique_copy

template <class _InputIter, class _OutputIter, class _Tp>
_OutputIter __unique_copy(_InputIter __first, _InputIter __last,
                          _OutputIter __result, _Tp*) {
  _Tp __value = *__first;
  *__result = __value;
  while (++__first != __last)
    if (__value != *__first) {
      __value = *__first;
      *++__result = __value;
    }
  return ++__result;
}

template <class _InputIter, class _OutputIter>
inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last,
                                 _OutputIter __result, 
                                 output_iterator_tag) {
  return __unique_copy(__first, __last, __result, __VALUE_TYPE(__first));
}

template <class _InputIter, class _ForwardIter>
_ForwardIter __unique_copy(_InputIter __first, _InputIter __last,
                           _ForwardIter __result, forward_iterator_tag) {
  *__result = *__first;
  while (++__first != __last)
    if (*__result != *__first) *++__result = *__first;
  return ++__result;
}

template <class _InputIter, class _OutputIter>
inline _OutputIter unique_copy(_InputIter __first, _InputIter __last,
                               _OutputIter __result) {
  if (__first == __last) return __result;
  return __unique_copy(__first, __last, __result,
                       __ITERATOR_CATEGORY(__result));
}

template <class _InputIter, class _OutputIter, class _BinaryPredicate,
          class _Tp>
_OutputIter __unique_copy(_InputIter __first, _InputIter __last,
                          _OutputIter __result,
                          _BinaryPredicate __binary_pred, _Tp*) {
  _Tp __value = *__first;
  *__result = __value;
  while (++__first != __last)
    if (!__binary_pred(__value, *__first)) {
      __value = *__first;
      *++__result = __value;
    }
  return ++__result;
}

template <class _InputIter, class _OutputIter, class _BinaryPredicate>
inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last,
                                 _OutputIter __result,
                                 _BinaryPredicate __binary_pred,
                                 output_iterator_tag) {
  return __unique_copy(__first, __last, __result, __binary_pred,
                       __VALUE_TYPE(__first));
}

template <class _InputIter, class _ForwardIter, class _BinaryPredicate>
_ForwardIter __unique_copy(_InputIter __first, _InputIter __last,
                           _ForwardIter __result, 
                           _BinaryPredicate __binary_pred,
                           forward_iterator_tag) {
  *__result = *__first;
  while (++__first != __last)
    if (!__binary_pred(*__result, *__first)) *++__result = *__first;
  return ++__result;
}

template <class _InputIter, class _OutputIter, class _BinaryPredicate>
inline _OutputIter unique_copy(_InputIter __first, _InputIter __last,
                               _OutputIter __result,
                               _BinaryPredicate __binary_pred) {
  if (__first == __last) return __result;
  return __unique_copy(__first, __last, __result, __binary_pred,
                       __ITERATOR_CATEGORY(__result));
}

template <class _ForwardIter>
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last) {
  __first = adjacent_find(__first, __last);
  return unique_copy(__first, __last, __first);
}

template <class _ForwardIter, class _BinaryPredicate>
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last,
                    _BinaryPredicate __binary_pred) {
  __first = adjacent_find(__first, __last, __binary_pred);
  return unique_copy(__first, __last, __first, __binary_pred);
}

// reverse and reverse_copy, and their auxiliary functions

template <class _BidirectionalIter>
void __reverse(_BidirectionalIter __first, _BidirectionalIter __last, 
               bidirectional_iterator_tag) {
  while (true)
    if (__first == __last || __first == --__last)
      return;
    else
      iter_swap(__first++, __last);
}

template <class _RandomAccessIter>
void __reverse(_RandomAccessIter __first, _RandomAccessIter __last,
               random_access_iterator_tag) {
  while (__first < __last)
    iter_swap(__first++, --__last);
}

template <class _BidirectionalIter>
inline void reverse(_BidirectionalIter __first, _BidirectionalIter __last) {
  __reverse(__first, __last, __ITERATOR_CATEGORY(__first));
}

template <class _BidirectionalIter, class _OutputIter>
_OutputIter reverse_copy(_BidirectionalIter __first,
                            _BidirectionalIter __last,
                            _OutputIter __result) {
  while (__first != __last) {
    --__last;
    *__result = *__last;
    ++__result;
  }
  return __result;
}

// rotate and rotate_copy, and their auxiliary functions

template <class _EuclideanRingElement>
_EuclideanRingElement __gcd(_EuclideanRingElement __m,
                            _EuclideanRingElement __n)
{
  while (__n != 0) {
    _EuclideanRingElement __t = __m % __n;
    __m = __n;
    __n = __t;
  }
  return __m;
}

template <class _ForwardIter, class _Distance>
_ForwardIter __rotate(_ForwardIter __first,
                      _ForwardIter __middle,
                      _ForwardIter __last,
                      _Distance*,
                      forward_iterator_tag) {
  if (__first == __middle)
    return __last;
  if (__last  == __middle)
    return __first;

  _ForwardIter __first2 = __middle;
  do {
    swap(*__first++, *__first2++);
    if (__first == __middle)
      __middle = __first2;
  } while (__first2 != __last);

  _ForwardIter __new_middle = __first;

  __first2 = __middle;

  while (__first2 != __last) {
    swap (*__first++, *__first2++);
    if (__first == __middle)
      __middle = __first2;
    else if (__first2 == __last)
      __first2 = __middle;
  }

  return __new_middle;
}


template <class _BidirectionalIter, class _Distance>
_BidirectionalIter __rotate(_BidirectionalIter __first,
                            _BidirectionalIter __middle,
                            _BidirectionalIter __last,
                            _Distance*,
                            bidirectional_iterator_tag) {
  if (__first == __middle)
    return __last;
  if (__last  == __middle)
    return __first;

  __reverse(__first,  __middle, bidirectional_iterator_tag());
  __reverse(__middle, __last,   bidirectional_iterator_tag());

  while (__first != __middle && __middle != __last)
    swap (*__first++, *--__last);

  if (__first == __middle) {
    __reverse(__middle, __last,   bidirectional_iterator_tag());
    return __last;
  }
  else {
    __reverse(__first,  __middle, bidirectional_iterator_tag());
    return __first;
  }
}

template <class _RandomAccessIter, class _Distance, class _Tp>
_RandomAccessIter __rotate(_RandomAccessIter __first,
                           _RandomAccessIter __middle,
                           _RandomAccessIter __last,
                           _Distance *, _Tp *) {

  _Distance __n = __last   - __first;
  _Distance __k = __middle - __first;
  _Distance __l = __n - __k;
  _RandomAccessIter __result = __first + (__last - __middle);

  if (__k == 0)
    return __last;

  else if (__k == __l) {
    swap_ranges(__first, __middle, __middle);
    return __result;
  }

  _Distance __d = __gcd(__n, __k);

  for (_Distance __i = 0; __i < __d; __i++) {
    _Tp __tmp = *__first;
    _RandomAccessIter __p = __first;

    if (__k < __l) {
      for (_Distance __j = 0; __j < __l/__d; __j++) {
        if (__p > __first + __l) {
          *__p = *(__p - __l);
          __p -= __l;
        }

        *__p = *(__p + __k);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久久| 欧美成人激情免费网| 亚洲精品视频自拍| 色老头久久综合| 亚洲在线视频免费观看| 欧美主播一区二区三区| 丝袜脚交一区二区| 日韩一区二区三区视频在线观看| 午夜激情一区二区| 精品国产乱码久久久久久免费| 激情综合网av| 日本一区二区高清| 91蜜桃视频在线| 亚洲亚洲人成综合网络| 欧美一区二区成人6969| 国产精品99久久久久久久女警 | 欧美aaaaa成人免费观看视频| 91精品欧美久久久久久动漫| 国产成人免费视频网站高清观看视频| 国产欧美精品一区aⅴ影院| 91麻豆swag| 日韩福利电影在线| 国产欧美综合在线观看第十页| 99久久国产综合精品色伊| 亚洲成年人影院| 久久久噜噜噜久噜久久综合| 波多野结衣在线一区| 亚洲成人免费看| 国产亚洲自拍一区| 日本道色综合久久| 久久国产视频网| 亚洲精品国产第一综合99久久 | 成人精品高清在线| 亚洲成人av一区二区三区| 国产三级精品视频| 欧美高清视频在线高清观看mv色露露十八 | 狠狠色丁香久久婷婷综合丁香| **性色生活片久久毛片| 日韩一级片网站| 色八戒一区二区三区| 九色porny丨国产精品| 亚洲精品成人在线| 久久久久久久综合| 91.com在线观看| 色综合视频一区二区三区高清| 欧美aaaaaa午夜精品| 亚洲一区二区在线播放相泽 | 成人福利在线看| 麻豆久久久久久| 一区二区三区日本| 国产精品欧美久久久久一区二区| 欧美军同video69gay| 99re成人精品视频| 国产毛片精品国产一区二区三区| 一区二区欧美视频| 国产精品福利一区二区| xf在线a精品一区二区视频网站| 在线观看视频欧美| 99精品视频在线免费观看| 精品一区二区三区日韩| 裸体一区二区三区| 日本最新不卡在线| 亚洲小说欧美激情另类| 一区二区三区在线高清| 亚洲视频免费看| 国产精品久久久久久久岛一牛影视 | 欧美做爰猛烈大尺度电影无法无天| 精品一区二区三区不卡| 午夜精品在线看| 亚洲国产精品久久人人爱| 亚洲美女在线一区| 18成人在线视频| 亚洲色图一区二区三区| 最新国产成人在线观看| 国产精品不卡一区| 国产一区三区三区| 免费一级欧美片在线观看| 亚洲成av人片在线| 天堂在线亚洲视频| 日韩电影免费在线| 免费三级欧美电影| 精品一区二区三区视频| 国产成人夜色高潮福利影视| 国产麻豆视频一区二区| 成人自拍视频在线| av毛片久久久久**hd| 99久久婷婷国产综合精品电影| 99在线热播精品免费| 色菇凉天天综合网| 欧美日韩在线播放一区| 欧美丰满嫩嫩电影| 日韩欧美综合一区| 久久影院午夜论| 亚洲国产高清aⅴ视频| 亚洲欧美激情一区二区| 午夜欧美电影在线观看| 日韩av一二三| 国产精品一线二线三线| av不卡在线观看| 欧美亚洲综合一区| 国产亚洲一本大道中文在线| 中文字幕欧美区| 亚洲精品v日韩精品| 日韩av一区二区在线影视| 韩国成人在线视频| 99久久精品国产一区二区三区| 欧洲人成人精品| 日韩精品一区二区三区在线观看| 精品盗摄一区二区三区| 国产精品理论片| 午夜精品福利一区二区蜜股av| 激情综合色丁香一区二区| 成人av网站在线观看| 欧美精品自拍偷拍动漫精品| 欧美国产国产综合| 亚洲成人自拍偷拍| 成人免费高清在线| 欧美久久久久久久久| 国产精品视频一二三区| 亚洲成人自拍网| 大美女一区二区三区| 欧美区一区二区三区| 中文字幕乱码日本亚洲一区二区| 香蕉影视欧美成人| 99久久精品国产麻豆演员表| 日韩亚洲欧美成人一区| 亚洲人成人一区二区在线观看 | 久久精品国产秦先生| 99精品欧美一区二区三区小说 | av在线不卡网| 欧美mv日韩mv| 亚洲国产精品自拍| 国产sm精品调教视频网站| 69堂精品视频| 亚洲女人小视频在线观看| 精品一区二区三区在线视频| 欧美三日本三级三级在线播放| 久久久精品欧美丰满| 午夜精品福利视频网站| 色噜噜狠狠色综合中国| 久久综合色鬼综合色| 亚洲成av人片www| 91免费视频网| 中文字幕 久热精品 视频在线| 日韩av中文字幕一区二区三区| 91免费版pro下载短视频| 久久综合九色综合欧美就去吻 | 国产99久久久久| 精品毛片乱码1区2区3区| 亚洲成人免费观看| 在线精品视频免费播放| 1000部国产精品成人观看| 国产九色sp调教91| 精品久久久久久久久久久久包黑料| 一区二区免费在线| 成人app软件下载大全免费| 久久嫩草精品久久久久| 久久国产欧美日韩精品| 这里只有精品视频在线观看| 一区二区三区在线免费观看 | 亚洲制服丝袜一区| 91视频国产资源| 亚洲欧美一区二区三区国产精品| 国产福利视频一区二区三区| 久久众筹精品私拍模特| 美日韩一区二区| 精品国产91亚洲一区二区三区婷婷| 日本不卡视频一二三区| 日韩午夜激情电影| 久国产精品韩国三级视频| 精品对白一区国产伦| 韩国女主播一区| 国产网红主播福利一区二区| 国产成人在线视频播放| 国产欧美一区二区三区网站| 国产精品99久久久久久宅男| 中文av一区二区| eeuss鲁片一区二区三区在线看| 欧美国产日韩亚洲一区| 成人黄色免费短视频| 国产精品久久久久影院老司| 91在线观看成人| 亚洲福利视频导航| 7777精品伊人久久久大香线蕉经典版下载 | 91.xcao| 国产精品主播直播| 国产精品丝袜久久久久久app| 成人黄色软件下载| 亚洲一区中文日韩| 欧美一区二区三区在线观看 | 日韩欧美你懂的| 丰满少妇在线播放bd日韩电影| 日韩毛片视频在线看| 欧美日韩国产系列| 久久99精品一区二区三区三区| 国产肉丝袜一区二区| 色婷婷综合久久久久中文| 日韩高清不卡一区二区三区| 国产亚洲美州欧州综合国| 91丨porny丨在线|