9Mcode comment |
|
|
|
|
|
|
- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -
|
|
|
กระทู้ #1873 [Java] (จาก IP: 125.26.182.171)
ขอโค๊ดของ Singly Linked List หน่อยคับ
ขอบคุนคับ
|
จากคุณ
:
mizuno / mizuno_tatsuya@hotmail.com [2008-03-08 03:49:03]
|
|
ความคิดเห็น #26608 (จาก IP: 202.91.19.192)
public class LinkedList { // reference to the head node. private Node head; private int listCount; // LinkedList constructor public LinkedList() { // this is an empty list, so the reference to the head node // is set to a new node with no data head = new Node(null); listCount = 0; } public void add(Object data) // post: appends the specified element to the end of this list. { Node temp = new Node(data); Node current = head; // starting at the head node, crawl to the end of the list while(current.getNext() != null) { current = current.getNext(); } // the last node's "next" reference set to our new node current.setNext(temp); listCount++;// increment the number of elements variable } public void add(Object data, int index) // post: inserts the specified element at the specified position in this list. { Node temp = new Node(data); Node current = head; // crawl to the requested index or the last element in the list, // whichever comes first for(int i = 1; i < index && current.getNext() != null; i++) { current = current.getNext(); } // set the new node's next-node reference to this node's next-node reference temp.setNext(current.getNext()); // now set this node's next-node reference to the new node current.setNext(temp); listCount++;// increment the number of elements variable } public Object get(int index) // post: returns the element at the specified position in this list. { // index must be 1 or higher if(index <= 0) return null; Node current = head.getNext(); for(int i = 1; i < index; i++) { if(current.getNext() == null) return null; current = current.getNext(); } return current.getData(); } public boolean remove(int index) // post: removes the element at the specified position in this list. { // if the index is out of range, exit if(index < 1 || index > size()) return false; Node current = head; for(int i = 1; i < index; i++) { if(current.getNext() == null) return false; current = current.getNext(); } current.setNext(current.getNext().getNext()); listCount--; // decrement the number of elements variable return true; } public int size() // post: returns the number of elements in this list. { return listCount; } public String toString() { Node current = head.getNext(); String output = ""; while(current != null) { output += "[" + current.getData().toString() + "]"; current = current.getNext(); } return output; } private class Node { // reference to the next node in the chain, // or null if there isn't one. Node next; // data carried by this node. // could be of any type you need. Object data;
// Node constructor public Node(Object _data) { next = null; data = _data; } // another Node constructor if we want to // specify the node to point to. public Node(Object _data, Node _next) { next = _next; data = _data; } // these methods should be self-explanatory public Object getData() { return data; } public void setData(Object _data) { data = _data; } public Node getNext() { return next; } public void setNext(Node _next) { next = _next; } } } |
จากคุณ
:
sup98 [2008-03-09 17:20:04]
|
|
|
- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -
|
|
|
|
|
|
|