3. 새로 들어온 데이터를 저장하는 insert() 함수를 작성하겠습니다.
void insert(int data)
{
if (maxHeap.size() == 0)
{
maxHeap.push(data);
return;
}
if (maxHeap.size() == minHeap.size())
{
if (data <= get())
maxHeap.push(data);
else
minHeap.push(data);
return;
}
if (maxHeap.size() < minHeap.size())
{
if (data > get())
{
maxHeap.push(minHeap.top());
minHeap.pop();
minHeap.push(data);
}
else
maxHeap.push(data);
return;
}
if (data < get())
{
minHeap.push(maxHeap.top());
maxHeap.pop();
maxHeap.push(data);
}
else
minHeap.push(data);
}