i just write a class below :
Code:
#include<iostream>
using namespace std;
const int DefaultSize = 100;
class List
{
public:
	List();
	List(size_t size);
	~List();
	bool insert(const int);
	void ClearList();
	bool IsEmpty();
	size_t ListLen();
	bool GetElem(size_t , int );
	void append(size_t,int);//在第i个位置插入数值
	void Display();
	void remove(size_t);
private:
	size_t MaxSize;
	size_t list_len;
	int *element;
};
List::List()
{
	MaxSize = DefaultSize;
	list_len = 0;
	element = new int[MaxSize];
}
List::List(size_t size)
{
	MaxSize = size;
	list_len = 0;
	element = new int[MaxSize];
}
List::~List()
{
	delete []element;
}
bool List::insert(const int a)
{
	if (list_len == MaxSize)
		return false;
	element[list_len++] = a;
	return true;
}
bool List::IsEmpty()
{
	return list_len == 0;
}
bool List::GetElem(size_t size, int e)
{
	if(size > list_len)
		return false;
	e = element[size];
	return true;
}
void List::Display()
{
	if(IsEmpty())
		cout << "List is empty" << endl;
	else
		for (size_t i = 0; i < list_len; ++i)
			cout << element[i] << " ";
}
size_t List::ListLen()
{
	return list_len;
}
void List::append(size_t i, int num)
{
	if(i < 0 || i > MaxSize)
	{
		cout << "append invalid" << endl;
	}
    if (i == list_len)
    {
        this->insert(num);
    } 
    else
    {
		for(size_t j = list_len-1; j != i-2; --j)
		{
			if(j == list_len-1)
				this->insert(element[j]);
			else
                element[j+1] = element[j];
		}
		element[i-1] = num;
    }
}
void List::remove(size_t i)
{
	if(i < 0 || i > list_len)
	{
		cout << "remove invalid" << endl;
	}
	else
	{
		for(size_t j = i; j != list_len+1; ++j)
		{
				element[j-1] = element[j];
		}
		--list_len;
	}
}
}
but when i wan to write
Code:
void List::merge(List &L)
{
  if(L.IsEmpty())
	  return;
  size_t size_L = L.ListLen();
  if (list_len+size_L > MaxSize)
  {

  }
}
i found if
Code:
list_len+size_L > MaxSize
how can i go ahead ?can anyone help ?