数据结构与算法-线性表顺序存储结构删除操作的实现

这一章节我们来看一下线性表顺序存储结构删除操作的简单实现


package com.ray.testobject;

public class Test {
	private Object[] list;

	public Object[] getList() {
		return list;
	}

	/**
	 * 初始化list
	 * 
	 * @param num
	 *            元素个数
	 */
	private void iniList(int num) {
		list = new Object[num];
		for (int i = 0; i < num; i++) {
			list[i] = new Object();
		}
	}

	/**
	 * 删除某个元素
	 * 
	 * @param pos
	 *            元素位置
	 */
	private Object delItemOfList(int pos) {
		Object delItem = null;
		if (pos <= 0 || pos > list.length) {
			System.out.println("输入位置不正确,不能执行删除方法");
			return delItem;
		}
		delItem = list[pos - 1];
		list[pos - 1] = null;
		if (pos < list.length) {
			for (int i = pos; i < list.length; i++) {
				list[i - 1] = list[i];
			}
			list[list.length - 1] = null;
		}

		return delItem;
	}

	public static void main(String[] args) {
		Test test = new Test();
		test.iniList(5);
		for (int i = 0; i < test.getList().length; i++) {
			System.out.println(test.getList()[i]);
		}
		System.out.println("--------------------");
		System.out.println("被删除的元素:" + test.delItemOfList(3));
		for (int i = 0; i < test.getList().length; i++) {
			System.out.println(test.getList()[i]);
		}
	}
}


输出:

java.lang.Object@1fb8ee3
java.lang.Object@61de33
java.lang.Object@14318bb
java.lang.Object@ca0b6
java.lang.Object@10b30a7
--------------------
被删除的元素:java.lang.Object@14318bb
java.lang.Object@1fb8ee3
java.lang.Object@61de33
java.lang.Object@ca0b6
java.lang.Object@10b30a7
null

注意:上面的代码只是一个简单的模拟,如果有问题,请指出,谢谢。




版权声明:本文为博主原创文章,未经博主允许不得转载。