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 + -
显示快捷键?