顺序存储的整体结构是用数组存储数据,再定义一个size整型变量,既可以记录当前线性表的大小有可以当做数组下标来使用。
初始化线性表即构造一定大小的空数组,size赋值0.
增加节点就相当于往数组里放数据,size++。
删除节点,那么从删除节点后的所有节点均向前移动一位。在数组里体现为后一个节点覆盖前一个节点。
打印循环就可以了
package linearSturcture;
/**
*线性结构-线性表-顺序存储
* @author cx998
*
*/
public class SequentialStorage {
private Object[] data;//节点数据
private int size;//顺序表大小
public SequentialStorage()
{
data=new Object[10];
size=0;
}
/**
* 添加节点
* @param index
*/
public void add(Object index)
{
if(size>=10)
throw new RuntimeException("顺序表已满!");
else
data[size++]=index;
}
/**
* 删除节点
* @param pointer
*/
public void delete(int pointer)
{
if(pointer>size-1)
throw new RuntimeException("数组越界!");
else if(pointer==size-1)
size--;
else
{
for(int i=pointer;i<size-1;i++)
data[i]=data[i+1];
size--;
}
}
/**
* 打印顺序表
*/
public void display()
{
System.out.println("当前顺序表大小"+size);
for(int i=0;i<size-1;i++)
System.out.print(data[i]+"->");
System.out.println(data[size-1]);
}
}