Ad Code

Ticker

6/recent/ticker-posts

Stack in Data Structure in Hindi | Stack using c in hindi -oklesson

 Stack एक linear data structure है, जिसमे हम डाटा को same end से insert व remove करते है| Stack FILO तकनीक का उपयोग करता है, जिसका मतलब होता है First in Last Out और कुछ लोग इसे LIFO technic के नाम से भी जानते है जिसका मतलब होता है Last in First Out |alert-success

data structure सीखने की इस series में आज का हमारा टॉपिक है Stack in data structure. इस पोस्ट में हम आज सीखेंगे की stack क्या है(What is Stack ?) , और stack को data structure में किस प्रकार implement किया जाता है| और वह कौन से basic operation है जिन्हें हम stack पर perform कर सकते है| और साथ ही साथ आपको stack पर perform होने वाले operation का full source code भी provide किया जाएगा | जिससे आप stack को practically implement कर सके | यदि आपने data structure के पहले के टॉपिक नहीं पढ़े है, तो आप यहाँ से पढ़ सकते है|

  Also Read:

Stack क्या है(Stack in hindi) ? 

 Stack एक linear data structure है, जिसमे हम डाटा को same end से insert व remove करते है| Stack FILO तकनीक का उपयोग करता है, जिसका मतलब होता है First in Last Out और कुछ लोग इसे LIFO Technic के नाम से भी जानते है जिसका मतलब होता है Last in First Out |

stack-kya-hai-in-hindi-with-source-code
Image-Source: pixabay.com

इसका मतलब यह है की हम stack में जिस भी डाटा को पहले insert करेंगे, उसे हम सबसे last में ही remove कर सकते है, और उसे remove करने के लिए हमें सबसे पहले उसके ऊपर के डाटा को बाहर निकालना होगा| 

Stack FILO तकनीक को follow करता है जिसका मतलब होता है First in Last Out | जबकि Queue FIFO तकनीक को follow करता है जिसका मतलब होता है First in First Out |alert-info

 उदाहरण के लिए मान लीजिये आपके पास चार किताबे है , जो एक के ऊपर एक रखी हुई है, सबसे नीचे hindi की बुक है , उसके ऊपर data structure की बुक है , और उसके ऊपर english की book है, और सबसे ऊपर math की बुक है| अब यदि आपको Hindi की book को बाहर निकालना हो तो आपको उसके ऊपर की सारी books हटानी पड़ेगी तभी आप Hindi की बुक को access कर सकते है| 

 ठीक इसी तरह stack भी डाटा structure में काम करता है, हमें उम्मीद है की आपको यह example समझ में आया होगा| stack में दो operation perform किये जाते है, जो की बहुत ही important है| 
  •  Push Operation 
  •  Pop Operation 

चलिए देखते है की stack को किस प्रकार से implement और represent किया जाता है| 

Stack implementation Using C 

 Stack को C language से implement करने के दो तरीके है| मतलब आप stack को दो तरीके से implement कर सकते है| 
  •  By Array 
  •  By Linked List 
 लेकिन इस पोस्ट में हम देखेंगे की stack को Array की मदद से किस प्रकार implement किया जाता है|  
//Implement Stack Using Array 
struct myStack{
        int ArraySize;
        int Top;
       int *myArray;
};
 इस प्रकार से हम stack को ऐरे की मदद से implement कर सकते है| इसमें ArraySize variable ऐरे की quantity को दर्शाता है| तथा Top Variable Array की top most वैल्यू को indicate करता है| और myArray की मदद से हम एक dynamically Array बनायेगे | 

 Operation on Stack in C in Hindi

 अभी हमने ऊपर देखा था की stack पर हम कौन कौन से operation perform कर सकते है| basically हम stack पर दो operation को perform कर सकते है| 
Also Read:

 Push operation in stack using C in Hindi : 

 push का मतलब होता है , धक्का देना | मतलब हम stack में किस प्रकार से data को insert करेंगे| हमें किसी डाटा को stack में insert करने से पहले निम्न बाते और Algorithm ध्यान में रखनी चाहिए| 
=> वैल्यू को stack में insert करने से पहले check करेंगे , की कही stack full तो नहीं है | मतलब यह है, की हमने जो Array बनाया है, क्या उसमे और element insert किये जा सकते है| 
=> यदि नहीं तो यूजर को एक error message show कर दे, कि Stack Overflow हो चूका है| 
=> यदि stack में जगह है, तो top की वैल्यू को increment किया जाता है, और उस वैल्यू को stack में insert करा दिया जाता है| 
इतना करने के बाद आपके push operation का काम ख़त्म हो जाता है| अब आपको idea लग गया होगा की आपको push function बनाते वक्त किन किन बातो का ध्यान रखना है| Push operation के लिए यह code देखे | int PushInStack(struct myStack*ptr,int Value){
if(isFull(ptr)){
printf("Stack is Overflow\n");
printf("%d is Not Inserted Successfully\n",Value);
return 0;
}
else
ptr->Top++;
ptr->myArray[ptr->Top]=Value;
printf("%d Inserted in Stack Successfully\n",Value);
}
यदि आपने इस code को ध्यान से देखा हो, तो आपको पता चलेगा की हमें Push operation को successful perform करने के लिए एक function की आवश्यकता होगी, जो यह check करेगा की stack full तो नहीं है| यदि आप if condition को देखे तो उसमे एक function को call किया गया है और उसमे एक pointer variable पास किया गया है, यदि function true return करता है, तो इसका मतलब है, की stack full है| यदि false return करता है, तो हम else की तरफ बढ़ेंगे और दी गयी वैल्यू को stack में insert कर देंगे| 

Also Read:

 Pop operation in stack using C in Hindi: 

Pop का मतलब होता है, निकालना | मतलब हम stack से किसी वैल्यू को delete कैसे करेंगे | Pop operation को perform करने के लिए हमें निम्न बाते ध्यान रखनी चाहिए | 
=> यदि हमें stack से किसी वैल्यू को डिलीट करना है, तो सबसे पहले हमें यह check करना चाहिए की stack empty तो नहीं है| 
=> यदि हाँ , तो यूजर को message show हो की stackUnderflow | मतलब stack empty है | और जब stack empty होगा तो वैल्यू डिलीट ही नहीं होगी | 
=> यदि नहीं, तो Top की वैल्यू decrement हो जाये और उस वैल्यू को stack से डिलीट कर दिया जाए |
 इतना करने के बाद आपके pop operation का काम ख़त्म हो जाता है| अब आपको idea लग गया होगा की आपको pop function बनाते वक्त किन किन बातो का ध्यान रखना है| Pop operation के लिए यह code देखे | void PopFromStack(struct myStack*start)
{
int value;
if(isEmpty(start))
printf("Stack is Empty\n");
else
value=start->myArray[start->Top];
start->Top--;
printf("%d Deleted from Stack Successfully",value);
}
यदि आपने इस code को ध्यान से देखा हो, तो आपको पता चलेगा की हमें Pop operation को successful perform करने के लिए एक function की आवश्यकता होगी, जो यह check करेगा की stack empty तो नहीं है| यदि आप if condition को देखे तो उसमे एक function को call किया गया है और उसमे एक pointer variable पास किया गया है, यदि function true return करता है, तो इसका मतलब है, की stack empty है| यदि false return करता है, तो हम else की तरफ बढ़ेंगे और stack की top most वैल्यू को डिलीट कर देंगे| 

 तो इस प्रकार हम stack में operation को perform कर सकते है| यदि आप stack को देखना चाहते है की इसमें अभी कितनी वैल्यू है | तो उसके लिए मैंने एक function लिखा है , जो stack को प्रिंट करेगा | 
 Code here 
यह function सिर्फ एक arguments लेता है| और stack में उपस्थित सारे एलिमेंट को प्रिंट कर देता है| 

 stack using c full source code in Hindi

 हमें उम्मीद है की आपको stack in data structure समझ में आया होगा | यदि आप इसका full source code चाहिए | तो आप देख सकते है, नीचे इसका full source code है| और code में Array का size 10 है आप इसे बढ़ा व घटा भी सकते है| 
#include<stdio.h>
#include<stdlib.h>
//Implement Stack Using Array
struct myStack{
int ArraySize;
int Top;
int *myArray;
};
//Check Stack is Empty or Not
int isEmpty(struct myStack* start){
if(start->Top==-1)
return 1;
else
return 0;
}
//Check Stack is full or Not
int isFull(struct myStack* Last){
      if(Last->Top==Last->ArraySize-1)
  return 1;
  else 
  return 0;
}
//Stack Push Operation
int PushInStack(struct myStack*ptr,int Value){
if(isFull(ptr)){
printf("Stack is Overflow\n");
printf("%d is Not Inserted Successfully\n",Value);
return 0;
}
else
ptr->Top++;
ptr->myArray[ptr->Top]=Value;
printf("%d Inserted in Stack Successfully\n",Value);
}
//Stack Pop Operation
void PopFromStack(struct myStack*start)
{
int value;
if(isEmpty(start))
printf("Stack is Empty\n");
else
value=start->myArray[start->Top];
start->Top--;
printf("%d Deleted from Stack Successfully",value);
}
/*This Program is Developed by Uttam Kumar*/
int main(){
struct myStack *Stack;
Stack=(struct myStack*)malloc(sizeof(struct myStack));
Stack->ArraySize=5;
Stack->Top=-1;
Stack->myArray=(int*)malloc(Stack->ArraySize*sizeof(int));
PushInStack(Stack,30);
PushInStack(Stack,40);
PushInStack(Stack,60);
PushInStack(Stack,50);
PushInStack(Stack,10);
PushInStack(Stack,90);
PopFromStack(Stack);
printf("After Delete\n");
PrintStack(Stack);
}
//Print All The Present Value In Stack
void PrintStack(struct myStack* Start){
while(Start->Top!=-1){
printf("%d ",Start->myArray[Start->Top]);
Start->Top--;
}
}

Also Read :
यदि आपको इस post stack in data structure in hindi में कोई भी problem या doubt हो तो आप comment करके पूछ सकते है|
Tags:
stack in data structure using c,
stack in data structure is lifo,
stack in data structure array,
stack in data structure using array,
stack is a data structure,
stack in data structure using c program,
stack in data structure program in c,

Post a Comment

3 Comments

Hey , Comment Your Query or Suggestion