数据结构单链表中无序排列删除大于最小值小于最大值

如题所述

typedef struct {
    int data;
    strcut *next;
}node,*head;
/////////////上面是我定义的数据域///////////////////
void del_a_b(node *p,int a,int b)//删除a到b之间的数值
{
    node *q;
    while(p->next!=null)
    {
        if(p->data>b&&p->data<a)//如果超出(a,b)则删除节点,让指针指向下一个节点.
        {
            q=p;
            p=p->next;
            free(q);
        }
        else//没有超出范围则指针往下移动
        {
            p=p->next;
        }
    }
}

有不懂的地方在问我吧.我也是初学者.

温馨提示:答案为网友推荐,仅供参考