public void remove(int key) {
		HashPrinter.tryRemove(key);

		/** Run along the array */
		int runner = 0;

		int hash = (key % TABLE_INITIAL_SIZE);
		int edge = (int) Math.ceil((double) TABLE_INITIAL_SIZE / 2);

		while (table[hash] != null && runner < edge) {

			if (table[hash].getKey() == key) {
				break;
			}

			runner++;

			hash = ((key + runner * runner) % TABLE_INITIAL_SIZE);

		}

		if (runner >= edge) {

			HashPrinter.notFound(key);

		} else {

			table[hash] = DeletedNode.getUniqueDeletedNode();

			HashPrinter.remotionSuccessful(key, hash);

		}
	}