multiset.cc

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· CC 代码 · 共 75 行

CC
75
字号
// 1999-06-24 bkoz// Copyright (C) 1999 Free Software Foundation, Inc.//// This file is part of the GNU ISO C++ Library.  This library is free// software; you can redistribute it and/or modify it under the// terms of the GNU General Public License as published by the// Free Software Foundation; either version 2, or (at your option)// any later version.// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License along// with this library; see the file COPYING.  If not, write to the Free// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,// USA.// 23.3.4 template class multiset#include <iostream>#include <iterator>#include <set>#include <algorithm>namespace std {  std::ostream&   operator<<(std::ostream& os, std::pair<int, int> const& p)   { return os << p.first << ' ' << p.second; }}bool operator<(std::pair<int, int> const& lhs, std::pair<int, int> const& rhs) { return lhs.first < rhs.first; }int main () {  typedef std::multiset<std::pair<int, int> >::iterator iterator;  std::pair<int, int> p(69, 0);  std::multiset<std::pair<int, int> > s;  for (p.second = 0; p.second < 5; ++p.second)    s.insert(p);  for (iterator it = s.begin(); it != s.end(); ++it)    if (it->second < 5)       {	s.insert(it, p);	++p.second;      }  // XXX need to use debug-assert here and get this working with an  // ostrinsrtream, that way we can just check the strings for  // equivalance.  std::copy(s.begin(), s.end(),             std::ostream_iterator<std::pair<int, int> >(std::cout, "\n"));  return 0;}/* output:69 569 069 669 169 769 269 869 369 969 4*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?