顺序线性表 代码实现(基于java)
来源:互联网 发布:苹果软件商店打不开 编辑:程序博客网 时间:2024/06/18 13:00
package dataStruct;
public class MyList<T>
{
private Object element[];
private int len=0;
public MyList()
{
this(64);
}
public MyList(int size)
{
this.element=new Object[size];
}
public int Length()
{
return this.len;
}
public boolean isEmpty()
{
if(len==0)
return true;
else
return false;
}
public T getElem(int index)
{
if(0<=index&&index<=this.len-1)
return (T)this.element[index];
else if(index<0||index>=this.len)
throw new ArrayIndexOutOfBoundsException();
return null;
}
public boolean set(int index,T t)
{
if(index>=0&&index<=this.len-1)
{
if(t==null)
return false;
else
{
this.element[index]=t;
return true;
}
}
else
throw new ArrayIndexOutOfBoundsException();
}
public boolean insert(int index,T t)
{
if(t==null)
{
return false;
}
if(len==this.element.length)
{
Object[] temp=this.element;
this.element=new Object[this.len*2];
for(int i=0;i<len;i++)
{
this.element[i]=temp[i];
}
}
if(index<0)
{
throw new ArrayIndexOutOfBoundsException();
}
for(int i=this.len-1;i>=index;i--)
{
this.element[i+1]=this.element[i];
}
this.element[index]=t;
len++;
return true;
}
public T remove(int index)
{
if(this.len==0||index<0||index>=this.len)
throw new ArrayIndexOutOfBoundsException();
T old=(T)this.element[index];
for(int i=index;i<this.len-1;i++)
{
this.element[i]=this.element[i+1];
}
this.element[index+1]=null;
this.len--;
return old;
}
public void removeAll()
{
this.len=0;
}
public boolean append(T x)
{
if(x==null)
return false;
else
{
insert(this.len, x);
}
return true;
}
}
public class MyList<T>
{
private Object element[];
private int len=0;
public MyList()
{
this(64);
}
public MyList(int size)
{
this.element=new Object[size];
}
public int Length()
{
return this.len;
}
public boolean isEmpty()
{
if(len==0)
return true;
else
return false;
}
public T getElem(int index)
{
if(0<=index&&index<=this.len-1)
return (T)this.element[index];
else if(index<0||index>=this.len)
throw new ArrayIndexOutOfBoundsException();
return null;
}
public boolean set(int index,T t)
{
if(index>=0&&index<=this.len-1)
{
if(t==null)
return false;
else
{
this.element[index]=t;
return true;
}
}
else
throw new ArrayIndexOutOfBoundsException();
}
public boolean insert(int index,T t)
{
if(t==null)
{
return false;
}
if(len==this.element.length)
{
Object[] temp=this.element;
this.element=new Object[this.len*2];
for(int i=0;i<len;i++)
{
this.element[i]=temp[i];
}
}
if(index<0)
{
throw new ArrayIndexOutOfBoundsException();
}
for(int i=this.len-1;i>=index;i--)
{
this.element[i+1]=this.element[i];
}
this.element[index]=t;
len++;
return true;
}
public T remove(int index)
{
if(this.len==0||index<0||index>=this.len)
throw new ArrayIndexOutOfBoundsException();
T old=(T)this.element[index];
for(int i=index;i<this.len-1;i++)
{
this.element[i]=this.element[i+1];
}
this.element[index+1]=null;
this.len--;
return old;
}
public void removeAll()
{
this.len=0;
}
public boolean append(T x)
{
if(x==null)
return false;
else
{
insert(this.len, x);
}
return true;
}
}
阅读全文
0 0
- 顺序线性表 代码实现(基于java)
- Java实现线性表(顺序表)
- 基于顺序表实现线性表
- java(数组实现)线性表中顺序表
- 数据结构-线性表之顺序储存(Java实现)
- 数据结构-线性表之顺序储存(Java实现)
- Java,数据结构,线性表,顺序实现
- 线性表--顺序实现方式 (JAVA)
- java实现线性表的顺序存储
- 顺序线性表的java实现
- 线性表的Java实现--顺序存储
- java 实现线性表之顺序存储
- 线性表--顺序储存结构 java实现
- 线性表——顺序实现java
- java自己实现顺序线性表ArrayList
- 《数据结构》线性表:顺序存储结构(顺序表的)实现示例代码
- 基于数组实现顺序存储的线性表
- 基于数组的顺序线性表的实现
- TCP协议详解(多看两遍)
- openwrt中br-lan,eth0,eth0.1,eth0.2 已经 实际网口wan,lan对应的配置
- vSphere笔记01~02
- HTTP协议
- 华硕笔记本快速启动项里面没有usb设备解决办法
- 顺序线性表 代码实现(基于java)
- js 事件代理(事件委托)
- python里使用队列asyncio.Queue进行通讯
- Tabel控件 4.3.10
- 小学期 比赛计分问题
- JS每周读书笔记[3]--Date & RegExp
- 麻省理工学院-2017年-深度学习与自动驾驶视频课程分享
- Android Studio发布项目到jcenter,一行代码引入Module
- js获取网页高度