插入删除-数据结构单链表的插入与删除

问题描述

数据结构单链表的插入与删除

设单链表某一节点为p,怎样在p节点前插入一个结点?怎样删除p节点自身?(要求:用Java语言写出具体程序语言)

解决方案

这个主要是定位问题,只要能定到节点p的位置就好。
List list = new LinkedList();
list.add(list.indexOf(p), "插入内容");//由于是链表结构,所以数据插入位置的后方下标自动后移
list.remove(list.indexOf(p));//删除p节点
就是这个思路,不知道对你有用不。。

时间: 2024-11-08 17:24:25

插入删除-数据结构单链表的插入与删除的相关文章

数据结构的C++实现之程序加图示分析单链表的插入和删除操作

下图展示了单链表的基本结构: head指针是链表的头指针,指向第一个节点 ,每个节点的next指针域指向下一个节点,最后一个节点的next指针域为NULL,在图中用0表示. 下面先来看程序( 栈的链式存储实现,另外一个实现点这里)和对应的输出(注意输出前进行了链表反转(见<单链表反转>,否则程序后面 的while循环输出的顺序是250,200,100),接着来分析程序: /* linkedlist.h */#ifndef LINKEDLIST_H#define LINKEDLIST_Htype

C语言之单链表的插入、删除与查找_C 语言

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素.要实现对单链表中节点的插入.删除与查找的功能,就要先进行的单链表的初始化.创建和遍历,进而实现各功能,以下是对单链表节点的插入.删除.查找功能的具体实现: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef int ElemType; /** *链表通用类型 *ElemType 代表自定义的数据类型 *struct

@数据结构大神,单链表的插入,56行怎么错了?求解释~

问题描述 @数据结构大神,单链表的插入,56行怎么错了?求解释~ include include typedef struct Node { char data; struct Node *next; }Node,*Linklist;//先定义.后使用 //定义数据L-分配头节点-插入数据,连-接-返回 Linklist Createfromhead() { Linklist L;Node*s;int flag=1;char c; L=(Linklist)malloc(sizeof(Node))

指针-C语言单链表的插入求解了

问题描述 C语言单链表的插入求解了 对于带有头结点的链表,为什么在插入方法需要传入头指针的地址(二重指针)?对于不带头结点的链表,插入或者删除第一个元素时,需要使用头指针的地址,可是对于带头结点链表,为何要呢? 解决方案 解决方案二: C语言不像C++,没有引用参数,所以参数的形参被改变不能作用到实参上. 比如 void foo(int i) { i = 2; } int i = 1; foo(i); // i还是1 为此,需要指针: void foo(int* i) { *i = 2; } i

struct-@数据结构大神,单链表的插入,47行怎么错了?求解释~

问题描述 @数据结构大神,单链表的插入,47行怎么错了?求解释~ include include typedef struct Node { char data; struct Node *next; }Node,*Linklist;//先定义.后使用 //定义数据L-分配头节点-插入数据,连接-返回 Linklist Createfromhead() { Linklist L;Node*s;int flag=1;char c; L=(Linklist)malloc(sizeof(Node));

c语言 单链表-单链表的插入 中的问题

问题描述 单链表的插入 中的问题 要求:在带头节点的单链表llist中,p所指的节点后面插入元素x q->info=x;q->link=p->link;p->link=q;return 1; 其实我想问,p和p->link分别指的是什么意思啊??跪求大神指点!!! 解决方案 q->info=x;//将待插入的 节点的info成员赋上值 q->link=p->link; //将待插入节点的link指针指向p的下一个节点(此时p的link指针和q的link指针都

为什么不允许删除循环单链表中最后一个结点?如何解决?

问题描述 为什么不允许删除循环单链表中最后一个结点?如何解决? /*****************************************************/ /* 函数功能:建立一个空的循环单链表 / / 函数参数:无 / / 函数返回值:指向node类型变量的指针 / / 文件名:clnkinit.c,函数名init() / /****************************************************/ node init() /建立一个空的循环

数据结构 单链表-求大神给我讲讲数据结构单链表和队列

问题描述 求大神给我讲讲数据结构单链表和队列 帮我彻底分析下两种结构,感激不尽多谢大神了 解决方案 单链表和队列是两个层次的事情. 单链表是一种基本的表示一个线性表的方式,它记录下当前节点的数据和指向下一个节点的指针.因此一环一环可以得到整个数据.除了单链表,我们还有数组.双向链表.循环链表等. 队列是一种先进先出的数据结构,它高于链表一个层次,这是说,你可以用链表实现队列(当然也可以用数组或者别的).另外还有先进后出的数据结构(堆栈)等. 解决方案二: 具体你可以google下wikipedi

浅谈PHP链表数据结构(单链表)_php实例

链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个程序运行时,内存分成五个区(堆区,栈区,全局区,常量区,代码区) 规定:基本数据类型,一般放在栈区 复合数据类型,比如对象,放在堆区 定义一个类Hero 定义成员属性排名 $no 定义成员属性姓名 $name 定义成员属性昵称 $nickname 定义成员属性 $next,是一个引用,指向下一个Hero对象 定义构造函数,传递参数: