关闭

2.4删除单链表L中一个最小值结点的高校算法(假设最小值结点是唯一的)

1537人阅读 评论(0) 收藏 举报
删除单链表L中一个最小值结点的高校算法(假设最小值结点是唯一的)

//删除单链表L中一个最小值结点的高校算法(假设最小值结点是唯一的)

#include <iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
typedef struct LNode
{
    int data;
    struct LNode *next;
} LNode,*LinkList;


LinkList Delete_Min(LinkList &L)
{
    LNode *pre=L,*p= pre->next;    //p 为工作指针,pre指向其前驱
    LNode *minpre=pre,*minp=p;     //保存最小值结点及其前驱
    while(p!=NULL)
    {
        if(p->data<minp->data)
        {
            minp=p;
            minpre=pre;
        }
        pre=p;            //继续扫描下一个结点
        p=p->next;        //删除最小值结点
    }
    minpre->next=minp->next;  //删除最小值结点
    free(minp);
    return L;
}


int main()
{
    return 0;
}

 

0
0
查看评论

第1章第2节练习题3 删除最小值结点

试编写在带头结点的单链表L中删除一个最小值结点的高效算法(假设最小值结点是唯一的)
  • u013595419
  • u013595419
  • 2016-01-11 14:12
  • 1965

设计一个递归算法,删除不带头结点的单链表中所有值为x的结点

设计一个递归算法,删除不带头结点的单链表中所有值为x的结点具体的代码如下:void Del_X_3(LinkList &L,ElemType x) { LNode *p; //p指向待删除结点,if(L==NULL) //递归出口 return ; if(L-...
  • dream_follower
  • dream_follower
  • 2017-05-28 22:29
  • 1732

设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点

代码如下: void Del_X_3(LinkList &L,ElemType x) { LNode *p; if(L==NULL) return ; if(L->data==x) { p=L; L=L->next; free(p); Del_X...
  • xuluhui123
  • xuluhui123
  • 2013-10-28 22:56
  • 4195

求二叉树中结点最大值和结点最小值之差

//求二叉树中结点最大值和结点最小值之差 #include #include #include #include int Max,Min; typedef struct BiTNode { int data; struct BiTNode* lchild,* rchild; }BiTN...
  • Sun19910114
  • Sun19910114
  • 2014-08-30 09:21
  • 966

第1章第2节练习题1 递归删除指定结点

设计一个递归算法,删除不带头节点的单链表L中所有值为x的结点。
  • u013595419
  • u013595419
  • 2016-01-10 18:44
  • 1081

设单链表以非递减有序排列,设计算法实现在单链表中删除值相同的多余结点

先对链表进行排序在删除数相等的结点: 已知单链表的无头节点head void sortDel()                 ...
  • dancheng1
  • dancheng1
  • 2016-10-18 11:35
  • 1933

单链表中结点删除、排序与反转

在单链表中,假定每个结点的类型用LinkListLinkList表示,它应包括存储元素的数据域,这里用datadata表示,其类型用通用类型标识符ElemTypeElemType表示,还包括存储元素位置的指针域,这里用next表示。LinkListLinkList类型的定义如下:  typedef ...
  • sanqima
  • sanqima
  • 2015-09-27 22:17
  • 1163

设计在单链表中删除值相同的多余结点的算法

#include #include typedef int ElemType; typedef struct Lnode { ElemType date; struct Lnode* next; }*LNode; LNode InitLnode(void) //...
  • Ibigprogramer
  • Ibigprogramer
  • 2015-06-30 20:24
  • 6959

递归算法-不带头节点的单链表

问题及代码: /* * Copyright (c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:LinkList.cpp * 作 者:单昕昕 * 完成日期:2016年4月14日 * 版 ...
  • MIKASA3
  • MIKASA3
  • 2016-04-14 19:12
  • 1184

数据结构:设有一个不带头结点的单链表L,设计两个递归算法,del(L,x)删除单链表L中第一个值为x的节点,delall(L,x)删除单链表L中的最小节点值。

#include #include typedef struct Lnode //单链表结构体 { int data; struct Lnode* next; } LinkNode; void DispList(LinkNode*L) //输出函数 { LinkNode*p=L;...
  • qq_39805477
  • qq_39805477
  • 2018-01-23 13:57
  • 27
    个人资料
    • 访问:71956次
    • 积分:1361
    • 等级:
    • 排名:千里之外
    • 原创:149篇
    • 转载:8篇
    • 译文:0篇
    • 评论:5条
    最新评论