java 实现顺序表结构

通过java实现顺序表
1.接口

package com.listArray.inter;

public interface List {
	
	public boolean isEmpty();
	
	public void insert(int index,Object element) throws Exception;
	
	public Object remove (int i) throws Exception;
	
	public Object getData(int i) throws Exception;
	
	public int length();
	
	public int getLocal(Object x) throws Exception;
	
}

2.顺序表基本方法的实现

package com.listArray.util;

import com.listArray.inter.List;

public class SeqListObject implements List {
	
	//顺序表的默认长度,初始化顺序表没有指定长度时使用
	final int defalutSize=10;
	
	//记录当前线性表的实际长度,初始值为0
	private int size=0;	
	
	//顺序表的最大长度
	int maxSize=20;
	
	//定义对象数组 listArray
	private Object[] listArray;
	
	//获取顺序表有效长度
	public int getSize() { 
		return size;
	}
	
	 //无参构造,默认初始化 defalutSize=10
	public SeqListObject() {
		initiate(defalutSize);
	}
	
	//有参构造,自定义最大长度
	public SeqListObject(int capacity) {
		initiate(capacity);
	}
	
	//初始化函数
	public void initiate(int sz) { 
		maxSize =sz;
		size=0;
		listArray =new Object[sz];
	}

	//判断顺序表是否为空
	@Override
	public boolean isEmpty() {	
		// TODO Auto-generated method stub
		return this.size==0;
	}

	//插入方法
	@Override
	public void insert(int index, Object element) throws Exception {
		// TODO Auto-generated method stub
		if(size == maxSize) {
			throw new Exception("顺序表已满无法插入!");
		}
		if(index<0||index>size) {
			throw new Exception("参数错误!");
		}
		for(int j = size; j>index;j--) {
			listArray[j]=listArray[j-1];
		}
		listArray[index]=element;
		size++;
	}

	//删除方法
	@Override
	public Object remove(int i) throws Exception {
		// TODO Auto-generated method stub
		if(size == 0) {
			throw new Exception("顺序表已空无法删除");
		}
		if(i<0||i>size-1) {
			throw new Exception("参数错误!");
		}
		Object it =listArray[i];
		for(int j=i;j

3.测试方法及主函数

package com.listArray;

import com.listArray.util.SeqListObject;

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SeqListObject seqList =new SeqListObject(100);//实现构造方法,初始化顺序表,定义一个最大长度为100的线性表
		int n=10;
		try {
			//插入方法
			for(int i=0;i

你可能感兴趣的:(Java,数据结构,java,顺序表的实现)