⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datainfo.h

📁 数据结构C++代码,经典代码,受益多多,希望大家多多支持
💻 H
字号:
template <class T>
class DataInfo
{
	private:
		T data;			// the data value
		int frequency;	// occurrences of the data value
    
	public:
		// increment frequency
		void Increment(void);

		// relational operators. "==" and "<" must
		// be valid for type T

		// compare data values
		int operator== (const DataInfo<T>& w);
		// compare frequency counts
		int operator< (const DataInfo<T>& w);
        
		// stream operators. "<<" and ">>" must be valid
		// for type T
		friend istream& operator>> (istream& is, DataInfo<T> &w);
		friend ostream& operator<< (ostream& os, const DataInfo<T>& w);
};

// increment frequency count of the data
template <class T>
void DataInfo<T>::Increment(void)
{
    frequency++;                                            
}

// compare data values  
template <class T>
int DataInfo<T>::operator== (const DataInfo<T>& w)
{
    return data == w.data;                             
}

// compare frequency values
template <class T>
int DataInfo<T>::operator< (const DataInfo<T>& w)
{
    return frequency < w.frequency;
}
        
// input a value into a DataInfo record
template <class T>
istream& operator>> (istream& istr, DataInfo<T>& w)
{
    istr >> w.data;
    w.frequency = 1;
                
    return istr;
}

// output a DataInfo record in the format "data:count"
template <class T>
ostream& operator<< (ostream& ostr, const DataInfo<T>& w)
{
    ostr << w.data << ": " << w.frequency << endl;
              
    return ostr;
}

⌨️ 快捷键说明

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