java-链表插入删除顺序问题

问题描述

链表插入删除顺序问题

Java新手,现在在学习链表,发现链表的插入和删除操作不能很好的掌握,不参考代码不知道先修改哪一个reference,再比如在单链表头插入连接点,代码如下

newLink.next = first;
first = newLink;

书上写第一行的first是旧的first,第二行的是新的,都是first怎么还分新旧?

所以请教大家添加和删除连接点有什么通用的原则吗?怎样才能灵活的掌握各个连接点引用的修改?

解决方案

就是一个赋值。
a的下一个节点=b;
b=a;
这是个赋值问题。
新的b是现在a的值、
旧的b现在付给a的下一个节点了

时间: 2024-11-03 03:59:01

java-链表插入删除顺序问题的相关文章

将数组元素按顺序放入链表中并进行插入删除等操作的编程问题

问题描述 将数组元素按顺序放入链表中并进行插入删除等操作的编程问题 编译无错误,但是无法运行,感觉是将数组当做参数那个地方出了问题,但是不知道具体原因,求助CSDN的朋友帮忙解答,万分感谢 解决方案 大体看了一下首先在list的构造函数中 没有对head进行初始化, 应该是 head = new Node; head->next = null;其次在你的create方法中你并没有将数据放入到以head为头的链表中,我猜你应该是忘记对q初始化,q = head; 给你的建议是加断点一步步调试, 这

关于c语言实现动态顺序表的插入删除

问题描述 关于c语言实现动态顺序表的插入删除 3C #include ""stdafx.h""#includeconst int MAXSIZE = 10;typedef struct{ int *elem; int length; int maxsize;}sqlist;void initList(sqlist *L){ L->elem = (int *)malloc(L->maxsize*sizeof(int)); if (!L->elem)

3.8.2单链表的删除

        现在我们再来看单链表的删除.设存储元素ai的结点为q,要实现将结点q删除单链表的操作,其实就是将它的前继结点的指针绕过,指向它的后继结点即可(如图3-8-5所示).         我们所要做的,只是实际上就是一步,p->next=p->next->next,用q来取代p->next,即是 q=p->next; p->next=q->next;         解读这两句代码,也就是说让p的后继的后继结点改成p的后继结点.有点拗口呀,那我再打个形象

链表的删除操作,删除头节点就会出问题 大家看看问题出在哪里呢

问题描述 链表的删除操作,删除头节点就会出问题 大家看看问题出在哪里呢 struct Link *DeleteNode(struct Link *head,int nodeData)//链表的删除 { struct Link *p = head,*pr = head; if (head == NULL)//首先需要判断链表是否为空!若空!无需执行删除操作! { printf("No Linked Table!n"); return(head); } while(nodeData !=

关于单链表的删除算法

问题描述 关于单链表的删除算法 typedef int ElemType; typedef struct Node //结点结构 { ElemType data; struct Node *next; }Node; typedef struct Node *LinkList; Status ListDelete(LinkList *L,int i,ElemType *e) //单链表删除 { int j; LinkList p,q; p = *L; j = 1; while (p->next &am

结构体-求大神,根据指定位置插入删除电话号码本联系人,但是插入后的联系人个数不能返回

问题描述 求大神,根据指定位置插入删除电话号码本联系人,但是插入后的联系人个数不能返回 #include #include #include #include typedef struct LNode { char name[10]; char phone_number[15]; struct LNode next; }LNode,*LinkList; void InitList_L(LinkList &L,int n); void Add_L(LinkList &L,int i,char

框架-JAVA问题:删除数据库中数据的代码,测试不会报错,但实际什么都删不了

问题描述 JAVA问题:删除数据库中数据的代码,测试不会报错,但实际什么都删不了 这些操作做完后,数据库里的t_product表中,id=2的数据依然在,不是刷新的问题,刷新也还在 解决方案 为什么你的三个函数保存.修改.删除方法调用sql的时候都没有传递sql参数值呢? 解决方案二: 调用mapper里面的sql代码的时候,把要删除的id传进去了吗?不应该是sqlsession.delete("",参数);吗? 解决方案三: 参数没带.sqlsession.delect带上id 解决

java普通代码执行顺序问题?

问题描述 java普通代码执行顺序问题? 其实我也是这样想的 不过那两天做js ,在js中调用了其他A方法,然后又调用了B方法由于A方法没执行完就跳到了B,我就想java如果按照顺序执行到a这步,要在循环中调用其他类中的方法 很长时间之后才能处理完,此时a下面的b方法是否会先执行. ---------------- 我在A类中调用了B类中的方法export,传入了5个list. 然后分别写了对5个list的操作,在所有操作的最后都分别有一个嵌套循环 for(int i=0;i<x;i++){ f

关于Java Hibernate 插入与更新同一张MySQL表不同字段,出现锁没被释放

问题描述 关于Java Hibernate 插入与更新同一张MySQL表不同字段,出现锁没被释放 关于Java Hibernate 插入与更新同一张MySQL表不同字段,出现锁没被释放,这个有可能是数据还没插入完或者插完了锁没有被释放,导致下一个更新操作不能执行,等待超时,这个情况出现在操作数据量大的时候!这个情况有哪几种解决方式? [http-bio-8080-exec-3] [SQLErrorCodesFactory.:126] SQLErrorCodes loaded: [DB2 Derb