数据结构 设计一个算法,删除递增有序链表中值大于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表的结点)。(代码