已知带头结点的单链表L是一个递增有序表,试写一高效算法,删除表中值大于min且小于max的结点(若表中有这样的结点),同时释放被删结点的空间,这里min和max是两个给定的参数。
算法如下: LinkLi st*delete(L,min,max) LinkList*L; int min , max; { LinkList *p, *q , *s , *k; if (L!=NULL) { q=L ;p=L—>next; while (p!=NULL&&p—>data﹤=min) { q=p ;p=p—﹥next;} while (p!=NULL&&p—>data﹤max ) p= p—>next; s=q>next; while (s!=p) { k=s;q—>next=s—>next;free(k)} }