「删除线性表的代码java」数据结构线性表的删除代码
本篇文章给大家谈谈删除线性表的代码java,以及数据结构线性表的删除代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA如何添加判断线性表为0否则输出线性表长度
- 2、java问题,在线性表中删除一个结点,寻求解决方案!
- 3、java删除线性表最后一个元素
- 4、如何算是销毁一个线性表
- 5、java数组线性表ArrayList中的remove()方法如何删除一个数值类型(整数)的对象元素。
JAVA如何添加判断线性表为0否则输出线性表长度
package ba;
//线性表抽象数据类型的java接口定义
interface List
{
public boolean isEmpty(); //接口方法1:判断线性表是否为空
public void insert(int i ,int element) throws Exception; //接口方法2:在线性表的指定位置插入数据元素
public int remove(int i) throws Exception; //接口方法3:删除线性表中指定位置的数据元素
public int getData(int i) throws Exception; //接口方法4:获取线性表中指定位置的数据元素
public int length(); //接口方法5:获取线性表的长度(数据元素的个数)
}
//顺序表类SeqList,实现线性表接口
class SeqList implements List
{
//在实现接口的类中定义成员变量
private int[] listArray; //定义数组:listArray,用于保存线性表中的数据元素
final int defaultSize=10; //定义常量:defaultSize,用于指定线性表的默认长度
private int size; //定义变量:size,用于描述线性表中的数据元素的个数(线性表的长度)
private int maxSize; //定义变量:maxSize,用于描述线性表中最大数据元素的个数(线性表的最大长度)
//在实现接口的类中定义成员方法
//构造方法
//定义函数:initiate()
public void initiate(int sz)
{
maxSize=sz;
size=0;
listArray=new int[sz]; //创建一个整型数组!!!
}
public SeqList() //不带参数的构造方法
{
initiate(defaultSize);
}
public SeqList(int capacity) //带一个参数的构造方法
{
initiate(capacity);
}
//成员方法:清空线性表
public void clear()
{
this.size=0;
}
//实现 接口中定义的方法
public boolean isEmpty() //接口方法1:判断线性表是否为空
{
return this.size==0; //说明:==:是逻辑判断是否相等,如果相等返回值布尔值:真 true(1),否则返回假 false 0
}
public void insert(int index ,int element) throws Exception //接口方法2:在线性表的指定位置插入数据元素
//加载异常事务处理方法
{
if(size==maxSize)
{
throw new Exception("顺序表已满,无法插入!"); //如果程序中需要将存在的异常事件抛出,则必须事先加载异常处理的方法
//抛出异常
}
if(index0 || indexsize)
{
throw new Exception("参数错误!");
}
for(int j=size;jindex;j--)
{
listArray[j]=listArray[j-1];
}
listArray[index]=element;
size++;
}
public int remove(int i) throws Exception //接口方法3:删除线性表中指定位置的数据元素
{
if(size==0)
{
throw new Exception("顺序表已空,无法删除!");
}
if(i0 || isize-1)
{
throw new Exception("参数错误!");
}
int it =listArray[i];
for(int j=i;jsize-1;j++)
{
listArray[j]=listArray[j+1];
}
size--;
return it; //将删除数据元素后新的数组??
}
//获取线性表中指定位置的数据元素
public int getData(int i) throws Exception //接口方法4:获取线性表中指定位置的数据元素
{
return listArray[i];
}
//求线性表的长度
public int length() //接口方法5:获取线性表的长度(数据元素的个数)
{
return size;
}
}
public class test { //定义public类:(1)在创建项目时指定的类
public static void main(String args[]) //(2)main方法应当在public类中
{
SeqList seqList = new SeqList(100);
//定义类的对象。在定义类的对象时,通过调用构造方法对类的成员变量进行赋值
//如果一个类中存在多个构造方法时,称为构造方法重载。
//调用构造方法时,由系统根据所调用的构造方法的参数个数和数据类型自动调用与之相匹配的构造方法
int n=10;
try //try语句中的内容是指:需要对程序运行的异常事件进行捕获
{
for(int i=0;i=n;i++)
{
seqList.insert(i,(i+1)); //通过类的对象调用类的成员方法
}
seqList.remove(4);
for(int i=0;in;i++)
{
System.out.println(seqList.getData(i)+" ");
}
//请在此添加判断线性表是否为空,如果为空,则提示用户线性表为空,否则输出线性表的长度
}
catch(Exception e) //catch语句的作用是:将try语句中捕获的异常内容抛出
{
System.out.println(e.getMessage());
}
}
}
如何在这程序中添加
java问题,在线性表中删除一个结点,寻求解决方案!
目测之下
应该是对的
就是索引i一般是从0开始的
看你的程序你的i应该是从1开始的吧?不过这都不影响执行结果。还有就是:ArrayList集合适用于遍历的操作,
如果你的操作中
增删比较多的话
建议使用LinkedList,效率会更高些。
java删除线性表最后一个元素
ListInteger list = new ArrayListInteger();
list.add(1);
list.add(2);
list.add(3);
list.remove(list.size() - 1);
如何算是销毁一个线性表
不可以直接释放头结点的,必须所有的结点全部释放掉,最后释放头结点
如果直接将头结点置空,会导致其它结点元素所占空间不被有效释放,产生内存泄露
一个比较规正的清空线性表的代码如下:
void DestroyList(LinkList *L)//初始条件:线性表L已存在。 操作结果:销毁线性表L。
{
LNode Head, P;
if(*L)//若线性表L已存在
{
Head = *L;
P = Head-next;
while(!P) //把链表中除头结点外的所有结点释放
{
free(Head);
Head = P;
P = Head-next;
}
free(Head); //释放头结点
}
}
java数组线性表ArrayList中的remove()方法如何删除一个数值类型(整数)的对象元素。
你需要用 arrayList.remove(Integer.valueOf(5));
由于Integer.equals()是根据数值来匹配的,所以能命中你add进去的5。
删除线性表的代码java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据结构线性表的删除代码、删除线性表的代码java的信息别忘了在本站进行查找喔。