i3geek.com
闫庚哲的个人博客

有序表

#define max_list 10

template<class List_entry>
class List{
public:
	List();
	int size() const;
	bool full() const;
	bool empty() const;
	void clear();
	void traverse(void (*visit) (List_entry &));
	Error_code retrieve (int position,List_entry &x) const;
	Error_code replace(int position,const List_entry &x);
	Error_code remove (int position,List_entry &x);
	Error_code insert (int position,conse List_entry &x);
protected:
	int count;
	List_entry entry[max_list];
};

template<class List_entry>
int List<List_entry>::size() const
{
	return count;
}

template<class List_entry>
Error_code List<List_entry>::insert(int position,const List_entry &x)
{
	if(full())
		return overflow;
	if(position<0 || position>count)
		return range_error;
	for(int i=count-1;i>=position;i--)
		entry[i+1]=entry[i];
	entry[position]=x;
	count++;
	return success;
}

template<class List_entry>
void List<List_entry>::traverse(void (*visit) (List_entry &))
{
	for(int i=0;i<count;i++)
		(*visit) (entry[i]);
}

 

赞(0)
未经允许不得转载:爱上极客 » 有序表
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址