java对表格的增删改查,java实现线性表的增删改查
链表也是一个线性的数据结构,与数组不同的是,链表在内存中的存储方式是随机存储。
下面给出涵盖链表四个操作的一个完整的例子,有几点需要注意的是:
(一)在增删改查之前,都需要对给出的下标进行边界判断;
(二)增加一个名为最后的的节点,可以方便在链表的尾部进行操作,省去了查找到最后一个节点的时间复杂度;
(三)在链表的内部插入元素时,我们先找到要插入位置的前一个节点prevNode,然后可以记录下前节点的接下来,插入时先将前节点的然后指向要插入的节点,再将要插入的节点的然后指向当前的下一个。这一点和C中的操作也略有不同;
(四)删除节点时,用移除节点来记录删除节点的返回值,并且不要忘了大小要减1。
相关免费视频教程推荐:java免费视频教程
操作示例如下:
公共类我的链接列表{
//定义一个静态的内部类
私有静态类节点{
(同Internationalorganizations)国际组织数据;
下一个节点;
节点(整数数据){
this.data=数据
}
}
私有节点头;
私有节点最后;//为了方便尾部插入元素的操作
私有(同Internationalorganizations)国际组织大小;//大小表示链表的实际长度
公共void insert(int data,int index)引发异常{
如果(索引0 索引大小)
抛出新的IndexOutOfBoundsException(超出链表节点范围!);
插入的节点节点=新节点(数据);
if(size==0){//插入第一个元素时元素个数为0
head=插入的节点
last=插入的节点
}else if(size==index){//在链表的末尾插入
last.next=insertedNode
last=插入的节点
}否则{
node prev node=get(index-1);
下一个节点=上一个节点。接下来;
上一个节点。next=插入的节点;
插入的节点。next=下一个节点;
}
尺寸;
}
公共空的更新(整数数据,整数索引)引发异常{
如果(索引0 索引=大小)
抛出新的IndexOutOfBoundsException(超出链表节点范围!);
如果(索引==0)
head.data=数据
else if(index==size - 1)
last.data=数据
否则{
node temp=get(index);
临时数据=数据
}
}
公共节点删除(整数索引)引发异常{
if(index 0 index=size){
抛出新的IndexOutOfBoundsException(超出链表节点范围!);
}
Node removedNode=null//不给移除节点分配堆内存
if(index==0){
removedNode=head
头=头。下一个
}
else if(index==size - 1){
//删除尾结点
node prev node=get(index-1);
移除的节点=上一个节点。接下来;
prevNode.next=null
最后=前一节点
}
否则{
node prev node=get(index-1);
下一个节点=上一个节点。下一个。接下来;
移除的节点=上一个节点。接下来;
上一个节点。next=下一个节点;
}
尺寸-;
返回移除节点
}
//查找链表元素
公共节点get(int index)引发异常{
if(index 0 index=size){
抛出新的IndexOutOfBoundsException(超出链表节点范围!);
}
节点温度=头;
for(int I=0;我指数;i ){
temp=temp.next
}
//size-;
返回温度;
}
//输出链表
公共空的输出(){
节点温度=头;
while(temp!=null){
系统。出去。打印(温度数据);
temp=temp.next
}
}
公共静态void main(String[] args)引发异常{
my link list my link list=new my link list();
myLinkedList.insert(3,0);
myLinkedList.insert(7,1);
myLinkedList.insert(9,2);
myLinkedList.insert(5,3);
myLinkedList.insert(6,1);
我的链接列表。删除(0);
我的名单。更新(2,1);
myLinkedList.output():
系统。出去。println(mylinkedlist。尺寸);
}
}想了解更多相关教程可以访问:java开发入门以上就是如何实现Java(Java)链表中的基本操作(增~我爱你~删~我爱你~查查~我爱你~)的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。