【问题】 设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同 )。
设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同 )。
正确答案:void delete(LinkList &L, int mink, int maxk) { p=L->next; //首元结点 while (p && p->datanext; } //查找第一个值>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 }
题目解析:本题出自太原理工大学,河南理工大学数据结构,由丰阳塔题库搜集整理。