给定一个带表头结点的单链表,设head为头指针, data 为整型元素, next为指针,试写出算法:按递增次序输出单链表中各结点的数据元素, 并释放结点所占的存储空间

代码:

void sortDel(LinkList* L){
    LinkList *p,*pre,*minp,*minpre;
    LinkList* temp;
    while(L->next!=NULL){
        p = L->next;
        pre = L;
        minpre = pre;
        minp = p;
        while(p!=NULL){
            if(p->data < minp->data){ //min<当前节点值,修改最小值节点
                minpre = pre;
                minp = p;
            }
            p = p->next;
            pre = pre->next;
        }
        temp = minp;
        //重新连接链表,防断链
        minpre->next = minp->next;
        //先输出,后释放节点
        cout<<temp->data<<" ";
        free(temp);
    }
    //释放头节点
    free(L);
}

结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值