java数据结构之线性表代码实现

Posted yaerfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java数据结构之线性表代码实现相关的知识,希望对你有一定的参考价值。

原文: java数据结构之线性表代码实现 代码下载地址: http://www.zuidaima.com/share/1550463283186688.htm

线性表按顺序存储 里面有注释

LinearList.java
package com.zuidaima.datestruture.base;

/**
*@author www.zuidaima.com
**/
public interface LinearList 
  //判断线性表是不是为空
	public boolean isEmpty();
	//返回线性表容量大小
	public int size();
	//通过线性表的索引号来获得这个元素
	public Object get(int index);
	//要修改的索引和元素类容
	public void set(int index,Object element);
	// 向线性表添加元素
	public boolean add(Object element);
	//添加元素的位置和添加元素的内容
	public boolean add(int index,Object element);
	//移除元素
	public Object remove(int index);
	//清除线性表中元素的方法
	public void clear();

SequenceList.java
package com.zuidaima.datestruture.base;

/**
 * 线性表按顺序存储 add 
 * Object为传入的内容 int为传入的索引
 * @author www.zuidaima.com
 *
 */
public class SequenceList implements LinearList 
	private Object [] slist;
	private int size;
	public SequenceList() 
		this(3);
	
	public SequenceList(int length) 
		if(length==0)
			this.slist=new Object[3];
		
		this.slist=new Object[length];
	
//返回线性表的长度
	public boolean isEmpty() 
		if(size==0)
			return true;
		else
			return false;
		
	
	//返回线性表容量大小
	public int size() 
		
		return size;
	
	public Object get(int index) 
		return (Object)slist[index];
	
	//修改index要修改的的索引  element要修改的内容
	public void set(int index, Object element) 
		cheIndex(index);
		slist [index] = element; 
	
	
	
	public boolean add(Object element) 
		
		return add(size,element);
	
//验证索引是不是符合要求
	private void cheIndex(int index)
		if(index>size||index<0 throw="" new="" indexoutofboundsexception="" index="" index="" size="" size="" index="" element="" public="" boolean="" add="" int="" index="" object="" element="" cheindex="" index="" if="" index="">size||index<0)
			throw new IndexOutOfBoundsException("index"+index+",size"+size);
		
		if(size==slist.length)
			Object[] temp=slist;
			this.slist=new 	Object[temp.length*2];
			for(int j=0;j<temp length="" j="" this="" slist="" temp="" for="" int="" i="size-1;i">=index;i--)
			slist[i+1]=slist[i];
		
		slist [index] =element;
		size++;
		return true;
	

	删除index要删除的的索引 
	public Object remove(int index) 
		cheIndex(index);
		Object old = (Object)slist[index];
		//依次向后挪动
		for(int i=index;i<size-1;i++)
			slist[i]=slist[i+1];
		
		//释放最后1个元素
		slist[--size]=null;
		return old;
	

	//清除线性表
	public void clear() 
		if(size!=0)
			for(int i=0;i<size;i++)
				slist[i]=null;
			
			size=0;
		

	

	/**
	 * @param args
	 */
	public static void main(String[] args) 
//		SequenceList s = new SequenceList();
//		System.out.println("Is Empty?"+s.isEmpty());
//		System.out.println("Size:"+s.size);
//		s.add("Jack");
//		s.add("John");
//		s.add(0,"Lily");
//		s.add("Lucy");
//		s.set(2, "LiLei");
//		s.remove(2);
//		s.clear();
//		System.out.println("Is Empty?"+s.isEmpty());
//		System.out.println("Size:"+s.size);
		
//        System.out.println(s.get(0));
//        System.out.println(s.get(1));
//        System.out.println(s.get(2));
	


</temp><!--0-->

标签: java 数据结构 线性表

话题: 语言基础

以上是关于java数据结构之线性表代码实现的主要内容,如果未能解决你的问题,请参考以下文章

数据结构之线性表之顺序存储Java实现

[DataStructure]非线性数据结构之哈希表二叉树及多叉树 Java 代码实现

java线性表之顺序表实现

线性表的顺序存储结构之顺序表类的实现_Java

Java 大话数据结构 线性表之单链表

常见数据结构之线性表