If the list contains at least two nodes, simply copy the data from the
next node into the current one and delete the next node. It is an O(1)
operation.
Dave
On Nov 11, 3:34 am, "Lukas alkauskas" <[EMAIL PROTECTED]>
wrote:
> Hi, I have this *single circular linked list* structure:
>
>
>
>
>
> > public class ListItem {
> > int n;
> > ListItem next;
>
> > public ListItem() {
> > this.n = 0;
> > this.next = null;
> > }
>
> > public ListItem(int n, ListItem e) {
> > this.n = n;
> > this.next = e;
> > }
>
> > public int getValue() { return this.n; }
> > public ListItem getNext() { return this.next; }
> > public void setValue(int n) { this.n = n; }
> > public void setNext(ListItem nextItem) { this.next = nextItem; }
> > }
>
> public class List {
>
>
>
>
>
> > ListItem head;
>
> > public List() {
> > this.head = null;
> > }
>
> > public ListItem getHead() { return this.head; }
>
> > public void Insert(int n) {
> > if (this.head == null) {
> > this.head = new ListItem(n, null);
> > this.head.next = head;
> > } else if (this.head.getNext() == null) {
> > this.head = new ListItem(n, this.head);
> > head.setNext(head);
> > } else {
> > this.head.next = new ListItem(n, this.head.next);
> > }
>
> > }
>
> > public void Remove(int Key) {
> > ListItem curr = this.head;
>
> > do {
> > if ( curr.next.getValue() == Key ) {
> > ListItem temp = curr.getNext();
> > curr.setNext(temp.getNext());
> > } curr = curr.getNext();
>
> > if (curr.getNext() == this.head && curr.getValue() == Key)
> > {
> > this.head.setNext(null);
> > curr.setNext(null);
> > }
>
> > } while ( curr != this.head );
> > }
> > }
>
> My question is, how to *optimize Remove(int Key)* method.
> Maybe anyone have some docs, about SINGLE circular linked list's.
>
> Thanks, for any help.
>
> --
> You can contact me by :
> Google Talk: [EMAIL PROTECTED]
> Skype: halfas.online.now
> IRC: HalFas` (irc2.omnitel.net)
> Home page:http://www.revidev.com/halfas/
> One's leisure project:http://rvision.gamedev.lt/RVengine- Hide quoted text -
>
> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---