代码如下:(链表中的元素以值递增有序排列,设计一个算法,删除表中所有值大于mink且小于maxk的元素,同时删除被删节点空间.)
#define NULL 0
typedef char ELEMTYPE;
typedef struct node{
ELEMTYPE data;
struct node *next;
}LNODE,*LINKLIST;
LINKLIST delete(LINKLIST L,char mink,char maxk)
{
LINKLIST p,q,n,m;
int i,j;
p=L;
if(p->next=NULL)
printf("表中无数据");
while(p->next->data>=maxk)
{
p=p->next;
if(p->data>=mink)
{ q=p;
n=p->next;
i=0;
}
else if(p->next=NULL)
{printf("无满足要求的数据");
exit(0);
}
i++;
}
q->next=p->next;
for(j=0;j<i;j++)
{ m=n->next;
free(n);
n=m;
}
}
不知对不对?请指教……