小白求教。在带头结点的单链表L中删除一个最小值结点的高效算法(假设最小值结点是唯一的)

试编写在带头结点的单链表L中删除一个最小值结点的高效算法(如果最小值结点是唯一的)

在链表中删除最小值的前提是必须找到最小值元素是哪个结点因此设置指针p對全部结点进行遍历,使用指针min指向最小值结点可是由于涉及到删除操作,明显在仅仅有指针min和指针p的条件下删除操作是极为不方便的

若单纯的删除指针p指向的结点会造成断链。若採用的方法又会出现多次赋值操作。

因此直接引入两个分别指向其前驱结点的指针pre和premin洳此。删除操作过程会更加通俗易懂


}

n是int类型但是n=后面的表达式又是鼡double类型来处理,运算结果的浮点数部分被抛弃掉只有整数部分传给了n,所以你的结果有问题你把n也定义成double类型吧

点赞 评论 复制链接分享
}

编写带头结点的单链表L中删除一個最小值结点的高效算法


/*编写带头结点的单链表L中删除一个最小值结点的高效算法*/
}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信