Java数据结构之线性表

Java数据结构之线性表—数组存储

最近在学Java语言,连着数据结构等课程一起学习,这里就作为自己记录学习过程的地方。
希望以后能带来更多、更好、更有水平的博客分享给大家。
实现结果:

/*
 * 使用数组实现的线性表
 * @author join
 */
public class arrayADT {
	private Object[] entry;
	private int length;
	private Object element;
	private static final int max_size = 50;
	
	public arrayADT() {
		length = 0;
		entry = new Object[max_size];	
	}
	//线性表末尾插入一个新元素
	public void add(Object newEntry) {
		entry[length] = newEntry;
		length++;
	}
	//在指定位置插入一个新元素
	public void add(int newPosition,Object newEntry) {
		makeRoom(newPosition);
		entry[newPosition-1] = newEntry;
		length++;
	}
	private void makeRoom(int newPosition) {
		for(int index=length;index>=newPosition;index--) {
			entry[index]=entry[index-1];
		}
	}
	//删除元素
	public void remove(int givenPosition) {	
	}
	//清除所有元素
	public void clear() {
		length = 0;
	}
	//替换元素
	public void replace(int givenPosition,Object newEntry) {
		for(int index=0;index<entry.length;index++) {
			entry[givenPosition-1] = newEntry;
		}
	}
	//获取线性表中对应位置的元素
	public Object getEntry(int givenPosition) {
		for(int index=0;index<entry.length;index++) {
			Object element = entry[index];
		}
		return element;
	}
	//检查是否包含元素
	public boolean contains(Object anEntry) {
		for (Object element2 : entry) {
			if(anEntry==element2) {
				return true;
			}
		}
		return false;
	}
	//获取线性表的长度
	public int getLength() {
		return length;
	}
	//判断是否为空?
	public boolean isEmpty() {
		return length == 0;
	}
	//展示
	public void display() {
		for(int index=0;index<length;index++) {
			System.out.println(entry[index]);
		}
	}
}

测试集:

package 线性表;
public class ADTtest {
	public static void main(String[] args) {
		//创建线性表对象
		arrayADT ad = new arrayADT();
		//添加元素
		ad.add(5);
		ad.add(7);
		ad.add(8);
		ad.add(10);
		ad.add(12);
		ad.add(100);
		//判断元素是否包含在线性表中
		System.out.println(ad.contains(70));
		//用222替换第3个元素
		ad.replace(3, 222);
		//添加字符串对象
		ad.add("baidu");
		//添加float对象
		ad.add(0.2665);
		//显示
		ad.display();
	}
}

由于本人是第一次用Java语言实现数据结构内容,因此以实现为目的,对实现过程中的一些判断并没有细致追求。
因此,大家在参考时可以自己完善一下,希望能多多指教,谢谢。

事间:2019-4-22 22:05

猜你喜欢

转载自blog.csdn.net/weixin_44961794/article/details/89462222