注册 登录
编程论坛 数据结构与算法

删除元素递增排列的链表 L 中值大于 mink 且小于 maxk 的所有元素

liu0919 发布于 2014-11-10 21:49, 1383 次点击
程序代码:
Status Delete_Between(Linklist &L,int mink,int maxk)//删除元素递增排列的链表L中值大于mink且小于maxk的所有元素
    {   p=L;
        while(p->next->data<=mink)
        p=p->next; //p是最后一个不大于mink的元素
        if(p->next)    //如果还有比mink更大的元素  
        {      q=p->next;   
                while(q->data<maxk)
                q=q->next; //q是第一个不小于maxk的元素   
                p->next=q;   
        }
    }

这个程序是对的么】

[ 本帖最后由 liu0919 于 2014-11-10 22:25 编辑 ]
4 回复
#2
azzbcc2014-11-11 09:17
给你几个实例 (0 表示头节点,mink=10,maxk=20)

0
0,5
0,5,11

这三种都会出错

还有就是把空间释放掉,用free


#3
liu09192014-11-11 18:08
回复 2 楼 azzbcc
那,50,1,6,20,7,这样也会出错吧,
#4
azzbcc2014-11-12 09:13
回复 3 楼 liu0919
不是已经规定递增链表了?
#5
liu09192014-12-17 19:51
回复 4楼 azzbcc
懂了懂刘
1