sorted_vector.h.svn-base
来自「Complete support for EBNF notation; Obje」· SVN-BASE 代码 · 共 53 行
SVN-BASE
53 行
#ifndef __WHALE__SORTED_VECTOR_H#define __WHALE__SORTED_VECTOR_H#include <vector>template<class T> class sorted_vector : public std::vector<T>{private: std::vector<T>::iterator find_around(const T &x) { for(int i=0; i<size(); i++) if(!((*this)[i]<x)) return begin()+i; return end(); }public: std::vector<T>::iterator find(const T &x) { iterator p=find_around(x); if(p!=end() && *p==x) return p; else return end(); } void insert(const T &x) { iterator p=find_around(x); if(p==end() || !(*p==x)) std::vector<T>::insert(p, x); } void erase(const T &x) { iterator p=find_around(x); if(p!=end()) std::vector<T>::erase(p); } int count(const T &x) { int result=0; for(int i=0; i<size(); i++) if((*this)[i]==x) result++; return result; }};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?