【论述题】试编写在带头结点的单链表L中删除(一个)最小值结点的(高效)算法。
已帮助 人
回答
共1条回复-
/删除最小值结点 public void delMin() { Node<T> p=head,q=head.next,p1=null,q1=null; if(!isEmpty()){ T min=q.data; while(q!=null){ //从第一个位置的值开始比较到最后一个位置,定位最小值位置 if(((Comparable)min).compareTo(q.data)>0){ min=q.data; p1=p; //最小值的前一个位置 q1=q; //最小值的位置 } p=q; q=q.next; } p1.next=q1.next; //删除q1最小值位置 } length--; }

