Hot File

Build Stack Data Structure Implementation using Linked List

View: 186    Dowload: 0   Comment: 0   Post by: hanhga  
Author: none   Category: Php&mySql   Fields: Other

0 point/0 review File has been tested

Write a program to implement a stack using linked list. In my last post, I have explained the implementation of a stack data structure using an array. In this post, I’ll explain how to implement a stack data structure using linked list.

Introduction

Write a program to implement a stack using linked list. In my last post, I have explained the implementation of a stack data structure using an array. In this post, I’ll explain how to implement a stack  data structure using linked list.

Stack Data Structure

Let’s revise some of the terminologies of a stack.

i) Stack worked on LIFO (Last In First Out) Principle. It means insertion and deletion are allowed only at one end. The element which added last must be the first element to be removed.

ii) In Stack, Insertion operation is called Push and deletion operation is called Pop . During push operation if memory is not available then it’s termed as StackOverflow. During pop operation if a stack is empty, then it’s called StackUnderflow

Program to Implement Stack using Linked List

I assumed you have a basic understand of linked list. If you are not familiar with linked list data structure then check my previous posts on linked list.

#include <stdio.h>
#include <stdlib.h>
 
/* Create a node which contains data and next pointer link */
 
struct node{
 
 int data;
 struct node *link;
};
 
struct node *head;
 
void push(int data){
 
        /* Allocate memory */
 
 struct node *newNode = (struct node*)malloc(sizeof(struct node));
 
 /* If memory is full */
 
 if (newNode == NULL) {
 
   printf("Stack Overflow \n");
   return;
 
 }
 
 /* Create new node */
 
 newNode->data = data;
 newNode->link = head;
 
 head = newNode;
 
}
 
void pop() {
 
 /* If there is no element to pop */
 
 if(head == NULL) {
 
   printf("Stack Underflow");
   exit(0);
 
 }
 
 struct node *p = head;
 
         int data;
 data = p->data;
 
 /* Points to next link */
 
 head = head->link;
 free(p);
 
 printf("Popped element is %d\n",data);
}
 
main() {
 
       /*Initially head is assigned null. */
 
 head = NULL;
 
 push(4);
 push(6);
 pop();
 push(8);
 pop();
 
}

Output

Popped element is 6
Popped element is 8

Explanation

In this program first, we pushed element 4 and 6 in a stack. Stack worked on LIFO(Last In First Out) principle. Then a pop method is called, so 6 is popped out. Again we push element 8 and then we called a pop method which popped 8 from a stack.

Build Stack Data Structure Implementation using Linked List

Build Stack Data Structure Implementation using Linked List Posted on 05-10-2016  Write a program to implement a stack using linked list. In my last post, I have explained the implementation of a stack data structure using an array. In this post, I’ll explain how to implement a stack data structure using linked list. 5/10 186

Comment:

To comment you must be logged in members.

Files with category

  • How to Picking the Brains of Your Customers with Microsoft’s Text Analytics

    View: 3535    Download: 0   Comment: 0   Author: none  

    How to Picking the Brains of Your Customers with Microsoft’s Text Analytics

    Category: Php&mySql
    Fields: Other

    5/1 review
    With the explosion of machine learning services in recent years, it has become easier than ever for developers to create “smart apps”. In this article, I’ll introduce you to Microsoft’s offering for providing machine-learning capabilities to apps.

  • How to MySqli Tutorial PHP MySqli Extension

    View: 274    Download: 0   Comment: 0   Author: none  

    How to MySqli Tutorial PHP MySqli Extension

    Category: Php&mySql
    Fields: Other

    0/0 review
    PHP provides three api to connect mysql Database.

  • Make Laravel Artisan Commands

    View: 247    Download: 0   Comment: 0   Author: none  

    Make Laravel Artisan Commands

    Category: Php&mySql
    Fields: Other

    0/0 review
    Artisan is the command line tool used in Laravel framework. It offers a bunch of useful command that can help you develop application quickly. Apart from Artisan available commands, you can create your own custom commands to improve your workflow.

  • Check if a Number is a Power of 2

    View: 226    Download: 0   Comment: 0   Author: none  

    Check if a Number is a Power of 2

    Category: Php&mySql
    Fields: Other

    2.25/2 review
    How to check if a number is a power of 2. To understand this question, let’s take some example.

  • Concatenate columns in MySql

    View: 292    Download: 0   Comment: 0   Author: none  

    Concatenate columns in MySql

    Category: Php&mySql
    Fields: Other

    0/1 review
    Artisan is the command line tool used in Laravel framework. It offers a bunch of useful command that can help you develop application quickly. Apart from Artisan available commands, you can create your own custom commands to improve your workflow

  • How to Query NULL Value in MySql

    View: 221    Download: 0   Comment: 0   Author: none  

    How to Query NULL Value in MySql

    Category: Php&mySql
    Fields: Other

    5/1 review
    Misunderstanding NULL is common mistake beginners do while writing MySql query. While quering in MySql they compare column name with NULL. In MySql NULL is nothing or in simple word it isUnknown Value so if you use comparison operator for NULL values...

  • How to Abstract Class in PHP

    View: 253    Download: 0   Comment: 0   Author: none  

    How to Abstract Class in PHP

    Category: Php&mySql
    Fields: Other

    0/0 review
    What is an abstract class in PHP and when to use an abstract class in your application. In this tutorial, we’ll learn about abstract class and their implementation.

  • Use Enums in Rails for Mapped Values

    View: 245    Download: 0   Comment: 0   Author: none  

    Use Enums in Rails for Mapped Values

    Category: Php&mySql
    Fields: Other

    5/1 review
    When I worked in a call center, we used to mark cases with different statuses. This allowed upper management to get a handle on where cases stood, what the bottlenecks were and flow of calls. Thankfully it has been a long time since I worked in a...

 
Newsletter Email

File suggestion for you

File top downloads

logo codetitle
Codetitle.com - library source code to share, download the file to the community
Copyright © 2015. All rights reserved. codetitle.com Develope by Vinagon .Ltd