JavaRush /Blog Java /Random-VI /Tự triển khai LinkedList được liên kết đôi, nhân bản sâu....
alexnjc
Mức độ

Tự triển khai LinkedList được liên kết đôi, nhân bản sâu.

Xuất bản trong nhóm
Nhiệm vụ là tạo ra cách triển khai danh sách các đối tượng được liên kết đơn hoặc đôi của riêng bạn, nhưng bạn không thể sử dụng các triển khai tiêu chuẩn của loại LinkedList. Viết các phương pháp nhân bản sâu danh sách này, kiểm tra xem lá được nhân bản như thế nào. Bạn không thể sử dụng hàm tạo của lớp để tạo bản sao. Khi xóa các thành phần khỏi bản sao của danh sách, danh sách ban đầu không được thay đổi, nghĩa là các bản sao phải hoàn toàn độc lập với nhau. Phương pháp nào sẽ tối ưu? Tôi đã viết rất nhiều mã, mọi thứ dường như đều hoạt động ngoại trừ việc nhân bản sâu. Có rất nhiều trục trặc khi thay đổi danh sách :-( //List as FILO stack public class MyLinkedList implements Cloneable, Serializable { private Node objects; // top of stack private Node first; // bottom of stack ... Nút lớp bên trong // FILO class Node implements Cloneable { private Object o; private Node next; private Node prev; public Node(Object o) { if (o !=null){ this.o = o; next = null; prev = null; System.out.println("First element Node created!"); System.out.println("o= "+o +" next= " + next+" prev= "+ prev); } else throw new IllegalArgumentException("Null element not allowed here!"); } public Node(Object o, Node next) { if (o == null) throw new IllegalArgumentException("Null element not allowed here!"); this.o = o; if (next != null) { this.next = next; this.prev = null; this.next.setPrev(this); System.out.println("element Node created!"); System.out.println("o= "+o +" next= " + next+" prev= "+ prev); } else System.out.println("next == null ?!!"); } public Object getO () { return o; } public Node getNext(){ return next;} public Node getPrev(){ return prev;} public void setO (Object o) { this.o = o;} public void setNext(Node next) { this.next = next;} public void setPrev(Node prev) { this.prev = prev;} ...
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION