Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    [Help] Danh sách liên kết, mọi người xử lý giúp em với!!!

    Yêu cầu của bài như thế này ạ:

    1. Tạo class Node (
    private int value;
    private Node prev;
    private Node next;
    ... các phương thức tương ứng)

    2. Tạo một vector với các phần tử là đối tượng Node

    - Viết hàm Add

    - Viết hàm remove

    - Viết hàm find(int value)

    - Viết hàm size

    - Viết hàm print(Theo cả hai chiều)

    Em không hiểu yêu cầu của phần 2, mong mọi người gỡ giúp em,
    demo cho em thì càng tốt ạ!
    Thanks all!!!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi trinhlkq
    Yêu cầu của bài như thế này ạ:

    1. Tạo class Node (
    private int value;
    private Node prev;
    private Node next;
    ... các phương thức tương ứng)

    2. Tạo một vector với các phần tử là đối tượng Node

    - Viết hàm Add

    - Viết hàm remove

    - Viết hàm find(int value)

    - Viết hàm size

    - Viết hàm print(Theo cả hai chiều)

    Em không hiểu yêu cầu của phần 2, mong mọi người gỡ giúp em,
    demo cho em thì càng tốt ạ!
    Thanks all!!!
    Đề bài là danh sách liên kết thì bạn cứ làm danh sách liên kết thôi

    void Add (Node)
    {// Thêm phần tử}
    void remove (Node)
    {//...}
    ....

    Demo một chút code dạo trước cho bạn tham khảo
    Ps: Lười chú thích nên bạn chịu khó đọc, ko hiểu có thể hỏi [IMG]images/smilies/smile.png[/IMG]


    Mã:
     /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author beautifulsoul84hung */public class Node {        private int data;    private Node next;        public Node (int data, Node next)    {        this.data = data;        this.next = next;    }        public Node getNext ()    {        return next;    }        public int getData ()    {        return data;    }        public void setNext (Node next)    {        this.next = next;    }        public void print ()    {        System.out.println (data);    }}

    Mã:
     /* * To change this template, choose Tools | Templates * and open the template in the editor. */  /** * * @author beautifulsoul84hung */public class SinglyLinkedList {     /**     * @param args the command line arguments     */            private Node head;    private int size;        public SinglyLinkedList ()    {        head = null;        size = 0;    }              public void addFirst (int data)    {        Node tmp = new Node (data, head);                head = tmp;        size ++;    }        private Node get (int index)    {        if (index < 0 || index >= size)            return null;        Node node = head;        for (int i = 0; i < index; i ++)            node = node.getNext();        return node;    }        public void addLast (int data)    {        if (size == 0)            head = new Node (data, null);        else        {            Node tmp = get (size - 1);            Node newNode = new Node (data, null);            tmp.setNext (newNode);        }            size ++;    }        public int removeFirst ()    {        Node tmp;        if (size == 0)            return 0;        else        {            tmp = head;            head = head.getNext();        }                size --;        return tmp.getData ();    }        public int removeLast ()    {        int data;        Node tmp = null;        if (size == 0)            return 0;        else if (size == 1)            data = head.getData ();        else        {            tmp = get (size - 2);            data = tmp.getNext().getData();            tmp.setNext(null);        }        size --;        return data;    }    public void printList ()    {        Node tmp = head;        for (int i = 0; i < size; i ++)        {            tmp.print();            tmp = tmp.getNext();        }                System.out.println ();    }}

    Mã:
    /* * To change this template, choose Tools | Templates * and open the template in the editor. */  /** * * @author beautifulsoul84hung */public class TestList{    public static void main (String args [])    {        SinglyLinkedList list = new SinglyLinkedList ();        list.addFirst(1);        list.addFirst(2);        list.addLast(3);        list.printList();                                list.removeLast ();                list.printList();                                list.removeFirst ();                list.printList();    }}

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Người ra đề này chắc không có kinh nghiệm làm việc với Java
    Bản thân Java có 1 class là LinkedList rồi, thành ra không nên phát minh lại cái bánh xe nữa.

  4. #4
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0
    Trích dẫn Gửi bởi Wazi Armstrong
    Người ra đề này chắc không có kinh nghiệm làm việc với Java
    Bản thân Java có 1 class là LinkedList rồi, thành ra không nên phát minh lại cái bánh xe nữa.
    Thầy bạn với bạn thì ai có kinh nghiệm hơn ?
    Tiếp cận với ngôn ngữ chả ai đập ngay cái interface vào mặt cả.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi beautifulsoul84hung
    Thầy bạn với bạn thì ai có kinh nghiệm hơn ?
    Tiếp cận với ngôn ngữ chả ai đập ngay cái interface vào mặt cả.
    Mình nói ko phải là chê bai các thầy đâu nhưng đa phần là họ update công nghệ chậm + ít đi làm phần mềm thực tế, nhất là với những công nghệ mới hiện nay. Làm java mà cứ bê mấy bài tập giải thuật của C sang áp dụng thì nó máy móc + thiếu trực quan, quanh quẩn vẫn tìm số chia hết cho 3, in ra các ước của 1 số... mấy bài này viết mã giả cũng được. Người học sẽ thấy là Java chỉ đơn thuần là C mở rộng, 2 cái viết cũng na ná nhau, vậy người ta đẻ ra nó làm gì.

    PS: LinkedList không phải interface. Nếu như ai lập trình java một thời gian cũng biết nó là 1 class
    LinkedList
    Xem qua doc 1 chút là biết cách làm rồi, push, pop, poll, peek hay offer có cả, implement được cả cấu trúc stack lẫn queue.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Wazi Armstrong
    Mình nói ko phải là chê bai các thầy đâu nhưng đa phần là họ update công nghệ chậm + ít đi làm phần mềm thực tế, nhất là với những công nghệ mới hiện nay. Làm java mà cứ bê mấy bài tập giải thuật của C sang áp dụng thì nó máy móc + thiếu trực quan, quanh quẩn vẫn tìm số chia hết cho 3, in ra các ước của 1 số... mấy bài này viết mã giả cũng được. Người học sẽ thấy là Java chỉ đơn thuần là C mở rộng, 2 cái viết cũng na ná nhau, vậy người ta đẻ ra nó làm gì.

    PS: LinkedList không phải interface. Nếu như ai lập trình java một thời gian cũng biết nó là 1 class
    LinkedList
    Xem qua doc 1 chút là biết cách làm rồi, push, pop, poll, peek hay offer có cả, implement được cả cấu trúc stack lẫn queue.
    Chuẩn men, không dạy cái đó thì biết cái gì mà dạy nữa.
    Học Java thì phải thấm nhuần OOP trước, rồi mới dùng framework sau, mà cái này ai dạy?

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Wazi Armstrong
    Người ra đề này chắc không có kinh nghiệm làm việc với Java
    Bản thân Java có 1 class là LinkedList rồi, thành ra không nên phát minh lại cái bánh xe nữa.
    Đúng như anh nói không nên phát minh lại mà nên phát minh cái mới thì tốt hơn. Thời gian là có hạn từ lúc học nhập môn java đã thấy nói về cái này nhưng em chỉ ghé xem qua chứ ko tìm hiểu sâu, Còn java còn một đống một lô cơ bản về nó chả ai nhớ hết được mà dùng cả. Thiếu gì, quên gì thì lại tra thôi.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •