数据结构 设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值 可以和表中的元素相同,也可以不同)
Posted Aiden (winner)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构 设计一个算法,删除递增有序链表中值大于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->data<maxk)//查找第一个值>=maxk的结点
p=p->next;
q=pre->next;
pre->next=p; //修改指针
while(q!=p) //释放结点空间
s=q->next;
delete q;
q=s;
以上是关于数据结构 设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值 可以和表中的元素相同,也可以不同)的主要内容,如果未能解决你的问题,请参考以下文章
设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表BC,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求BC表利用A表的结点)。
设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表BC,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求BC表利用A表的结点)。
设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表BC,其中B表的结点为A表中值小于0的结点,而C表的结点为A表中值大于0的结点(链表A中的元素为非零整数,要求BC表利用A表的结点)。(代码