`
standalone
  • 浏览: 613036 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

How to delete a node in a LinkList ?

阅读更多

If only given the pointer to the node to be deleted? Note the node is not the first one nor the last.

 

如果在单链表中删除一个指定的结点? 需要注意的是不是头尾结点。

 

这到题其实就是个小技巧,没有告诉前面的一个结点怎么做删除呢?答案就是把后面结点的内容拷贝过来!这个问题的前提是结点不能使首尾结点,否则就没法做了。

 

假设数据内容是整型,简化问题。

 

void delete(Node p){
   Node q = p.next;
   p.data = q.data;
   p.next = q.next;
}
 
分享到:
评论

相关推荐

    linklist creat_delete.cpp

    linklist creat_delete.cpp

    link_list(part-two).rar_How To Two

    example of linklist, written with DevC++. It is a very simple demostration of how to use link list in C++.

    链表LinkList全部应用代码

    自己变得linklist代码自己变得linklist代码自己变得linklist代码

    ELinkList.cpp

    严蔚敏数据结构ELinkList

    linklist类,基本完成了大部分功能

    3. **删除方法**:根据节点值或位置删除节点,如`deleteNode(T value)`和`deleteAtPosition(int pos)`。 4. **搜索方法**:查找链表中是否存在特定值的节点,如`contains(T value)`。 5. **遍历方法**:打印链表中的...

    LinkList的实现

    ### LinkList的实现 在Java中,链表是一种常见的数据结构,它允许高效地插入和删除元素,非常适合需要频繁操作的场景。本文将详细介绍如何在Java中实现一个双向链表。 ### Java模拟LinkList双向链表实现 #### 类...

    LinkList.c

    LinkList.c

    LinkList.txt

    Node* ReverseList(Node* h) { // ...省略代码... } ``` - **合并两个有序链表**:此函数采用迭代的方式实现两个有序链表的合并。合并后的链表仍然保持有序状态。 ```cpp void MergeList(LinkList& La, ...

    手写linklist demo

    在本“手写linklist demo”中,我们将深入理解链表的原理,并通过编写代码来实现一个简单的链表示例。下面将详细讨论链表的基本概念、结构以及如何实现。 链表是一种线性数据结构,与数组不同,它不连续存储元素。...

    LinkList.rar

    在这个实现中,`addNode`方法用于向链表尾部添加新的学生成绩,`deleteNode`方法根据给定的成绩删除相应节点,`display`方法则输出链表中的所有成绩。`clear`方法用于释放链表中所有的内存,防止内存泄漏。 为了...

    linklist_node.rar

    从键盘读入一元多项式中每一项的系数和指数,请编写算法实现: (1)建立带表头结点的单链表存放一元多项式(按照指数升序排列); (2)输出一元多项式的所有数据元素(按照指数升序输出每一系数非0项的系数和指数...

    doubly-linkList_java_

    public void deleteNode(int key) { // ... 实现逻辑 ... } // 遍历链表 public void traverse() { Node currentNode = head; while (currentNode != null) { System.out.print(currentNode.data + " "); ...

    linkList.cpp

    linkList.cpp

    linklist 链表的基本操作c++

    本主题将深入探讨“linklist 链表的基本操作c++”,包括如何实现链表的添加数据、删除、查找和插入功能。 首先,链表不同于数组,它的元素不是在内存中连续存储的。每个元素(节点)包含两部分:数据和指向下一个...

    ArrayList LinkList和vector的区别

    ArrayList、LinkList和Vector的区别 ArrayList、LinkList和Vector是Java中三个常用的集合类,它们都实现了List接口,但是在实现方式和性能上有所不同。 ArrayList ArrayList是使用数组方式存储数据的,数组元素数...

    数据结构与算法-linklist逆转

    //LinkList为结构指针类型 //定义关于单链表的若干操作 //初始化--建空表 void InitList(LinkList *L) { *L = (LinkList)malloc(sizeof(LNode)); (*L)->next=NULL; } //尾插法建表 void create_tail(LinkList *L...

    dnode_Linklist.rar_visual c

    void deleteNode(Node*& head, int value) { if (head == NULL) return; if (head->data == value) { Node* temp = head; head = head->next; delete temp; } else { Node* current = head; while (current...

    LinkList顺序表.cpp

    LinkList顺序表.cpp

    linklist.cpp

    linklist.cpp

    LinkList链表.cpp

    改代码是俺在大2时做的,里面有对链表的实例,调试成功了的

Global site tag (gtag.js) - Google Analytics