已知单链表L是一个递增有序表,试写一高效算法,删除表中值大于min且小于max的结点,同时释放被删结点的空间,这里min和max是两个给定的参数。请分析算法的时间复杂度。
已知单链表L是一个递增有序表,试写一高效算法,删除表中值大于min且小于max的结点,同时释放被删结点的空间,这里min和max是两个给定的参数。请分析算法的时间复杂度。
【正确答案】:算法描述如下: void LinkList_Del_between_MinMaX(LinkList L,int min,int max) { p=L一>next; q=L; while(p!=NULL) {if((p一>data>min)&&(p一>datanext=p一>next; free(p); p=q一>next; } else { q=P; p=p一>next; } } }
Top