public void remove(int v) {
			int i;
			for (i = 1; i <= numOfElements; i++) {
				this.ElementHighlightIdx = i;
				repaint();
				paintAll(getGraphics());
				try {
					Thread.sleep(TIME);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				if (value[i] == v)
					break;
			}
			this.ElementHighlightIdx = -1;
			repaint();
			paintAll(getGraphics());
			if (i > numOfElements)
				return;

			// Ԫأûк
			for (int j = i; j < numOfElements; j++) {
				// ƶĴ

				value[j] = value[j + 1];
			}

			// Ԫ-1
			numOfElements -= 1;
		}