public Key delete(int i)
	{
		if (i > heap.length - 1 || i < 1)
			return null;
		Key key = heap[i];
		heap[i] = heap[N--];
		if (greater(heap[i], key))
			sink(i);
		else
			swim(i);
		return key;
	}