什么是从链表中删除最小元素而不使用链表类中的 remove() 的算法。这就是我要找到的最小数据。我正在制作一个 Linkedlist 类,所以我不想使用已经存在的方法来做到这一点。
public void removeSmallest(){
Node smallest=new Node();
Node temp=head;
Node prev=null;
while(temp!=null){
if(temp.next.data<temp.data && temp.next!=null){
smallest.data=temp.next.data;
}
}
}
Run Code Online (Sandbox Code Playgroud)
public Node removeSmallest() {
Node smallest = head;
Node temp = head;
Node prev = null;
while(temp != null) {
if(temp.next != null && temp.next.data < smallest.data){
smallest = temp.next;
prev = temp;
}
temp = temp.next;
}
if(smallest != head) { //First element is not min
prev.next = smallest.next;
} else {
head = head.next; //If first element is smallest, update the head
}
return head;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6252 次 |
| 最近记录: |