Pila implementar usando lista enlazada en C ++

C ++ pila aplicación usando lista enlazada: En este caso, estamos escribiendo un programa en C ++ para implementar el uso de pila lista enlazada en C ++ .

Para implementar una pila utilizando una lista enlazada , básicamente tenemos que aplicar el empuje () y pop () operaciones de una pila usando lista enlazada.

Ejemplo:

los números de entrada: 1,3,5,8,4,0

Empujamos los números en la pila y cada vez que se ejecuta un pop () operación, el número está elevado hacia fuera de la pila.

Implement Stack using Linked List in C++ - 4

Algoritmo:

Para llevar a cabo la operación push () :

  1. Si la lista está vacía Vinculado a continuación, crear un nodo y el punto al frente de esa lista enlazada.
  2. Si la lista enlazada no está vacía, entonces crear un nodo con el número de entrada para ser empujado y hacer que la cabeza de la lista enlazada.

para implementar el pop () operación

  1. Si la lista enlazada ya está vacía, entonces no hacer nada. Salida que pila vacía.
  2. Si la lista enlazada no está vacío continuación, elimine el nodo de la cabeza.

implementación en C ++:

#include<bits/stdc++.h>
using namespace std;
struct node{
int data;
node* next;
};
//Create a new node
struct node* create_node(int x){
struct node* temp= new node;
temp->data=x;
temp->next=NULL;
return temp;
}
//Enter the node into the linked list
void push(node** head,int x){
struct node* store=create_node(x);
if(*head==NULL){
*head =store;
return;
}
struct node* temp=*head;
//add the number in the front of the linked list
store->next=temp;
*head=store;
}
//pop from the stack
void pop(node** head){
if(*head==NULL)
return;
struct node* temp=(*head)->next;
*head=temp; //delete from the front
}
void print(node* head){
struct node* temp=head;
while(temp){
cout<<temp->data<<" ";
temp=temp->next;
}
}
int main()
{
struct node* l=NULL;
push(&l,1);
push(&l,2);
push(&l,3);
push(&l,4);
push(&l,5);
push(&l,6);
cout<<"Before the pop operation"<<endl;
print(l);
pop(&l);
pop(&l);
cout<<"nAfter the pop operation"<<endl;
print(l);
return 0;
}

salida

Before the pop operation
6 5 4 3 2 1
After the pop operation
4 3 2 1


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *