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数据结构之线性表代码实现的主要内容,如果未能解决你的问题,请参考以下文章