设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同 )。


设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同 )。

正确答案:void delete(LinkList &;L, int mink, int maxk) { p=L->next; //首元结点 while (p &;&; p->data<=mink) { pre=p; p=p->next; } //查找第一个值>mink的结点 if (p) {while (p &;&; p->datanext; // 查找第一个值 ≥maxk的结点 q=pre->next; pre->next=p; // 修改指针 while (q!=p) { s=q->next; delete q; q=s; } // 释放结点空间 }//if }


Tag:数据结构 结点 元素 时间:2024-01-19 16:05:11

相关答案

热门答案