Skip to main content

Back With Stacks But with Linked Lists

So keeping it all simple this is a post to present the code that implements the Stacks using Linked List. 
Like in the Linked list (obviously) made to classes one for nodes and other one for implementation.

Node class


1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
public class NodeClass {

    public int info; 
    public NodeClass next; 
    public NodeClass(int i){    
        this(i,null);
    }
    public NodeClass(int x, NodeClass n){
        info = x;
        next = n;
    }
}


Then the implementation:

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
public class StackWithLL {
    protected NodeClass head;
    public StackWithLL(){
        head = null;
    }
    public boolean isEmpty(){
        return head == null;
    }
    public void push(int x){
        head = new NodeClass(x,head);
    }
    public int pop(){
        int temp = head.info;
       head = head.next;           
       return temp;
    }
    public int peek(){
        return head.info;
    }
    public static void main(String[] args) {
        StackWithLL stk = new StackWithLL();
        stk.push(23);
        stk.push(45);
        stk.push(278);
        System.out.println("head :"+stk.peek());
        System.out.println("Pop this one from head :"+stk.pop());
        System.out.println("New head :"+stk.peek());        
}}


That's It have fun.

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 3 - Stemming

Natural Language Processing So this one will be about stemming. Stemming is used in NLP for various reasons Stemming is removing certain parts of the word to get the meaning of it. For example, Running when stemmed returns run, and cooking when stemmed returns cook. from nltk.stem import PorterStemmer from nltk.tokenize import word_tokenize # testing with a sentence sent = "when we run we get healthy, Running is awesome. I have ran for may miles." myWords = word_tokenize(sent) for w in myWords: print (PorterStemmer() . stem(w)) print ( "**********Custom List************" ) # Testing with several custom words listwords = [ "come" , "came" , "coming" , "run" , "running" , "added" , "adding" ] for w in listwords: print (PorterStemmer() . stem(w)) The output will be as follows: