首页 > 其他分享 >删除链表中最小的一个结点

删除链表中最小的一个结点

时间:2024-04-22 20:59:21浏览次数:23  
标签:结点 删除 Head next 链表 LList Phead3

include <stdio.h>

include <stdbool.h>

include <stdlib.h>

// 指的是单向链表中的结点有效数据类型,用户可以根据需要进行修改
typedef int DataType_t;

// 构造链表的结点,链表中所有结点的数据类型应该是相同的
typedef struct LinkedList
{
DataType_t data; // 结点的数据域
struct LinkedList *next; // 结点的指针域

} LList_t;
/*******************************************************************
*

  • 函数名称: MinDelate

  • 函数功能: 删除链表中最小的一个结点

  • 函数参数: LList_t *Head

  • 返回结果: 插入成功或否

  • 注意事项: None

  • 函数作者: [email protected]

  • 创建日期: 2024/04/22

  • 修改历史:

  • 函数版本: V1.0

  • *****************************************************************/
    bool LList_MinDelate(LList_t *Head)
    {
    LList_t *Phead1 = Head->next;
    LList_t *Phead2 = Head->next;
    LList_t *Phead3 = Head->next;
    int min = Phead1->data;
    int count;
    // 判断链表是否为空
    if (NULL == Head->next)
    {
    return false;
    }

    while (Phead1->next)
    {
    if (Phead1->data < min)
    min = Phead1->data;
    }
    while (Phead2->next)
    {
    count++;
    if (min == Phead2)
    break;
    }
    for (int i = 0; i < count; i++)
    {
    Phead2 = Phead2->next;
    }
    for (int j = 0; j <= count; j++)
    {
    Phead3 = Phead3->next;
    }
    Phead2->next = Phead3->next;
    Phead3->next = NULL;
    free(Phead3);
    return true;
    }

标签:结点,删除,Head,next,链表,LList,Phead3
From: https://www.cnblogs.com/zeratul/p/18151504

相关文章

  • 删除链表中的尾部结点
    删除链表中的尾部结点/********************************************************name:DelTailNode* function:删除链表尾部结点*argument*@head:链表头结点的地址**retval:成功返回1,失败返回0*author:Dazz*......
  • 《渣男代码历险记》第五章:设计一个算法删除单链表L(有头结点)中的一个最小值结点
    为了删除单链表L中的一个最小值结点,我们可以遍历链表,找到最小值结点及其前驱结点,然后修改前驱结点的指针,使其指向最小值结点的下一个结点。以下是算法的解析和代码实现:初始化两个指针pre和cur,分别指向头结点和头结点的下一个结点。初始化一个变量min_val,用于存储当前最小值,将其......
  • C语言实现链表增删减改
    /********************************************************************filename: main.cauthor :[email protected] :2024/04/22function:实现对链表的增删改查note :NoneCopyRight(c)[email protected]***......
  • 单向顺序链表的创建,增,删,减,查
    单向顺序链表的创建,增,删,减,查/********************************************************************* filename: 单向顺序链表的创建,增,删,减,查* author :[email protected]* date : 2024-4-22* function:* note :None** CopyRight(c)20241764......
  • 对链表中最小数据项对应的结点删除
    //指的是顺序表中的元素的数据类型,用户可以根据需要进行修改typedefintDataType_t;//构造链表SeqList—_t的结点,结点中包含数据域和指针域,并且所有结点中的数据应该相同typedefstructSeqList{DataType_tData;structSeqList*next;}LinkList_t;//创建......
  • 删除顺序表L中下标为p(0<≤ p ≤length-1)的元素,成功返回1,否则返回0,并将待删除的元素的
    /********************************************************name:DelElement* function:(笔试题)删除顺序表L中下标为p(0<≤p≤length-1)的元素,*成功返回1,否则返回0,并将待删除的元素的值赋给e。*argument*@p:需要插入......
  • 设计一个算法删除单链表L(有头结点)中的一个最小值结点。
    思路1:定义一个变量=遍历每一个当前地址下面的数据和下一个作比较,谁小把谁的值给这个变量,同时记录这个小值的位置i,依次遍历比较,得到最小值和最小值的结点i的值,然后删除这个结点。思路2:给两个指针,p1,p2开始都指向第一个,然后p2指向下一个地址,和p1下的data作比较,得到的小值的p不动......
  • 使用C# 创建、填写、删除PDF表单域
    通常情况下,PDF文件是不可编辑的,但PDF表单提供了一些可编辑区域,允许用户填写和提交信息。PDF表单通常用于收集信息、反馈或进行在线申请,是许多行业中数据收集和交换的重要工具。PDF表单可以包含各种类型的输入控件,如文本框、复选框、下拉菜单、单选按钮等。本文将介绍如何使用C#......
  • 使用C# 创建、填写、删除PDF表单域
    通常情况下,PDF文件是不可编辑的,但PDF表单提供了一些可编辑区域,允许用户填写和提交信息。PDF表单通常用于收集信息、反馈或进行在线申请,是许多行业中数据收集和交换的重要工具。PDF表单可以包含各种类型的输入控件,如文本框、复选框、下拉菜单、单选按钮等。本文将介绍如何使用C#......
  • 菜品分类模块删除接口+今天的图片不回显问题没有解决,明天再说。这篇随便写写吧,呕。+修
    点击删除按钮,删除菜品,也可以在左侧进行批量删除,故制定批量删除接口。删除规则如下 其中被套餐关联的菜品不能删除,因为删除这些菜品直接影响到套餐删除菜品后,关联的口味也要删除,所以这个删除蛮复杂的,并不是那种单表直接删的简单操作  请求参数和返回数据: 涉及到的表有......