Skip to main content

This time Queues with Linked Lists

Same as the earlier posts Here's the 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;
    }

}


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
29
30
31
32
33
34
35
36
37
38
39
40
41
public class QueueWithLL {
    protected NodeClass head, tail;

    public QueueWithLL() {
        head = tail = null;
    }
    public boolean isEmpty(){
        return(head == null && tail == null);
    }
    public void add(int x){
        if(isEmpty()){
            head = tail = new NodeClass(x);
        }else{
            tail.next = new NodeClass(x, null);
            tail = tail.next;
        }
    }
    public int peekFront(){
        return head.info;
    }
    public int peekRear(){
        return tail.info;
    }
    public int pop(){
        int temp = head.info;
        head = head.next;
        return temp;
    }
    public static void main(String[] args) {
        QueueWithLL queue = new QueueWithLL();
        queue.add(34);
        queue.add(45);
        queue.add(78);
        queue.add(100);
        System.out.println("Head peek :"+queue.peekFront());
        System.out.println("Rear peek :"+queue.peekRear());        
        System.out.println("Pop the head element :"+queue.pop());
        System.out.println("Pop the next head element :"+queue.pop());
    }
    
}

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 2 - Stop Words

Natural Language Processing Stop words are the words which we ignore due to the fact that they do not generate any specific meaning to the sentence. Words like the, is, at etc. can be removed to extract the meaning of the sentence more easily. So NLTK has introduced us a stop words filter we can easily use. Let's see how it works. from nltk.corpus import stopwords from nltk.tokenize import word_tokenize sent = "As you can see this is the blog of myself which is written by Anjula" w = word_tokenize(sent) # set English stop words stop_words = set(stopwords . words( 'english' )) # list of standard stop words in English print (stop_words) # making empty arrays to store stop words and others stop_words_in_sent = [] non_stop_words = [] # Loop through to get the stop words for x in w: if x not in stop_words: non_stop_words . append(x) else : stop_words_in_sent . append(x) # print result ...

Design Patterns 1 : Introduction

Design Patterns : Introduction So its the holiday time and thought of starting with the Design patterns. In this post I'll talk about What are design patterns?, What good to us using them?, Why and when use them? and many more. So why wait? Lets start the journey to Design patterns. What are Design patterns? So over the years when programmers tried to build systems that can solve problems often they encountered problems that were difficult to overcome. So after finding a solution what they did was presenting it as an future guideline where other programmers when encountered the same problem can easily surpass that. These are what we called as Design Patterns. To see how it all started we have to go back in the past. History of Design Patterns? All these patterns buzz started in about 1977/79 when  Christopher Alexander  showed interest in using using pattern in architecture. That's right not in computer, in architectural ...