Skip to main content

Circular Singly Linked List

As I said in the first Linked List post there is a thing called Circular Singly Linked List. So what this do is that its like a Singly Linked List but at the tail it directed back to the Head. So it takes a loop form.
Like the Singly linked List I did the implementation in two classes. one to make node and other one to initiate.

NodeClass



1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
public class nodeClass {
    public int info; //contains the information part (Data)
    public nodeClass next; // The next node
    public nodeClass(int i){    //constructor to assign
        this(i,null);
    }
    public nodeClass(int x, nodeClass n){// assign values to info and next node
        info = x;
        next = n;
    }
}

The next is the implementation. I did only he insert at head and tail.


1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class CLinkedList {
    protected NodeClass tail,head;   
    public CLinkedList(){
        tail = head = null;
    }
    public boolean isEmmpty(){
        return head == null;
    }
    public void InsertAtHead(int x){  
        if(isEmmpty()){
            tail = head  = new NodeClass(x,head);            
        }else{
            head = new NodeClass(x,head);
            tail.next = head;                      
        }
    }
    public void InsertAtTail(int x){
        if(isEmmpty()){
            head = tail = new NodeClass(x);
            tail.next = head;
        }else{
            tail.next = new NodeClass(x,head);   
            tail  = tail.next;
            tail.next = head;
        
        
        }
    }
    public static void main(String[] args) {
        CLinkedList list = new CLinkedList();
        list.InsertAtHead(23);
        list.InsertAtHead(34);
        list.InsertAtHead(67);
        list.InsertAtTail(90);
        list.InsertAtHead(24);
        list.InsertAtTail(100);
        System.out.println("tail :"+list.tail.info);
        System.out.println("Head :"+list.head.info);
        System.out.println("Head.next :"+list.head.next.info);
        System.out.println("Tail.next :"+list.tail.next.info);
        System.out.println("head.next.next :"+list.head.next.next.info);
        System.out.println("head.next.next.next :"+list.head.next.next.next.info);
    }    
}
}


The Linked List after all Insertions will be like 
(24 -->67-->34-->23-->90-->100)

Popular posts from this blog

Natural Language Processing with Python NLTK part 5 - Chunking and Chinking

Natural Language Processing Using regular expression modifiers we can chunk out the PoS tagged words from the earlier example. The chunking is done with regular expressions defining a chunk rule. The Chinking defines what we need to exclude from the selection. Here are list of modifiers for Python: {1,3} = for digits, u expect 1-3 counts of digits, or "places" + = match 1 or more ? = match 0 or 1 repetitions. * = match 0 or MORE repetitions $ = matches at the end of string ^ = matches start of a string | = matches either/or. Example x|y = will match either x or y [] = range, or "variance" {x} = expect to see this amount of the preceding code. {x,y} = expect to see this x-y amounts of the preceding code source: https://pythonprogramming.net/regular-expressions-regex-tutorial-python-3/ Chunking import nltk from nltk.tokenize import word_tokenize # POS tagging sent = "This will be chunked. This is for Test. World is awesome. Hello world....

Natural Language Processing with Python NLTK part 1 - Tokenizer

Natural Language Processing Starting with the NLP articles first we will try the  tokenizer  in the NLTK package. Tokenizer breaks a paragraph into the relevant sub strings or sentences based on the tokenizer you used. In this I will use the Sent tokenizer, word_tokenizer and TweetTokenizer which has its specific work to do. import nltk from nltk.tokenize import sent_tokenize, word_tokenize, TweetTokenizer para = "Hello there this is the blog about NLP. In this blog I have made some posts. " \ "I can come up with new content." tweet = "#Fun night. :) Feeling crazy #TGIF" # tokenizing the paragraph into sentences and words sent = sent_tokenize(para) word = word_tokenize(para) # printing the output print ( "this paragraph has " + str(len(sent)) + " sentences and " + str(len(word)) + " words" ) # print each sentence k = 1 for i in sent: print ( "sentence ...

Natural Language Processing with Python NLTK part 6 - Named Entity Recognition

Natural Language Processing - NER Named entities are specific reference to something. As a part of recognizing text NLTK has allowed us to used the named entity recognition and recognize certain types of entities. Those types are as follows NE Type Examples ORGANIZATION Georgia-Pacific Corp. ,  WHO PERSON Eddy Bonte ,  President Obama LOCATION Murray River ,  Mount Everest DATE June ,  2008-06-29 TIME two fifty a m ,  1:30 p.m. MONEY 175 million Canadian Dollars ,  GBP 10.40 PERCENT twenty pct ,  18.75 % FACILITY Washington Monument ,  Stonehenge GPE South East Asia ,  Midlothian Source:  http://www.nltk.org/book/ch07.html Simple example on NER: import nltk from nltk.tokenize import word_tokenize, sent_tokenize para = " America is a country. John is a name. " sent = sent_tokenize(para) for s in sent: word = word_tokenize(s) tag = nltk . pos_tag(word) n...