首页 > 其他分享 >链表的操作例题

链表的操作例题

时间:2024-04-22 21:33:42浏览次数:29  
标签:结点 NULL inc next 链表 操作 例题 minNode

链表的删除操作

题目:设计一个算法删除单链表L(有头结点)中的一个最小值结点。

/*******************************************
 * name     : DelNode
 * function :删除单链表L中的一个最小值结点
 * argument : @L:单链表L的地址
 * retval   : None
 * date     :2024/04/22
 * note     :Note
********************************************/
void DelNode(*L)
{
    // 链表为空无法删除最小值结点
    if (L->next == NULL) {
        printf("Cannot delete min value node from single-node list.\n");
        return;
    }
    LinkList *inc = L->next;        //递增结点
    LinkList *minNode = NULL;       //最小结点前一个的地址
    LinkList *minNode_front = NULL; //最小结点地址
    DataType min = inc->data;       //最小值
    while(inc){
        if(min < inc->next->data){
            min = inc->data;
            minNode_front = inc;
            minNode = inc->next;
        }
        inc = inc->next;
    }
    //删除最小结点
    minNode_front->next = minNode->next;
    minNode->next = NULL;
    //释放空间
    free(minNode);
    return;
}

标签:结点,NULL,inc,next,链表,操作,例题,minNode
From: https://www.cnblogs.com/Mr--Song/p/18151591

相关文章

  • 单向链表遍历插入和删除
    /***********************************************************************************filename:002_单向链表.cauthor:A13326981379@163.comdate:2024/04/22function:单向链表的遍历插入和删除功能的完善note......
  • 已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为t型)后保持该顺序
    /********************************************************************************************************** filename: Zqh_splist_4.22.1.c* author : keyword2024@163.com* date : 2024/04/22* function: 已知一个顺序表L,其中的元素递增有序排列,设计一个算法......
  • 删除链表中指定结点
    删除链表中指定结点/********************************************************name:DelTargetNode* function:删除链表中指定的结点*argument*@head:链表头结点的地址*@num:需要删除的第num个结点**retva......
  • 设计一个算法删除单链表L(有头节点)中的一个最小值结点
    数据结构链表笔试题:设计一个算法删除单链表L(有头节点)中的一个最小值结点。/****************************************************************** * filename : linkedlist.c* author : cnzycwp@126.com* data : 2024/04/22* function : 删除单链表中的一个最小......
  • 链表
    链表在C语言中,链表是一种常用的数据结构,它可以用来存储一系列的元素。链表中的每个元素都存储了下一个元素的地址,从而形成了一条链。这种结构使得在插入和删除元素时不需要像数组那样移动大量元素,因此它在插入和删除操作多的情况下有很大的优势。在C语言中,链表可以有多种实现方......
  • 已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持该
    已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。/********************************************************************* 函数名称: SeqListInsert* 函数功能:一个顺序表L,其中的元素......
  • 设计一个算法删除单链表L(有头结点)中的一个最小值结点
    设计一个算法删除单链表L(有头结点)中的一个最小值结点/********************************************************************* 函数名称: LList_delatemin* 函数功能:删除单链表L(有头结点)中的一个最小值结点* 函数参数:* @a:*L*@b:*返回......
  • 假设该链表只给出了头指针 head。在不改变链表的前提下,请设计一个尽可能高效的算法,查
    假设该链表只给出了头指针head。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k(k为正整数)个位置上的结点。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。/********************************************************************* 函数名称......
  • 查找链表中倒数第k个数
    include<stdio.h>include<stdbool.h>include<stdlib.h>/********************************************************************函数名称: MinDelate函数功能:/*假设该链表只给出了头指针head。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k(......
  • C语言单向链表的创建和增删减查相关程序
    对单向链表进行删除和插入的程序设计/********************************************************************* filename: linkedlist.c* author :17666589210@136.com* date :2024/04/22* function:实现单向链表的创建、拆入、删除功能* note :None**......