Deletion of First Node of Linked List – मानलो कि हमारे पास निम्नानुसार कोई Linked List LIST है जिसमें पांच Nodes Node1, Node2, Node3, Node4 व Node5 हैं और हमें इस Linked List के पहले Node Node1 को Delete करना है।
हम जानते हैं कि किसी भी Linked List में START Pointer हमेंशा Linked List की शुरूआत के पहले Node को Point करता है। यानी START में Linked List के पहले Node का Address होता है। यदि हम इस Linked List में से प्रथम Node को Delete करना चाहते हैं तो हमें केवल इतना करना है कि हम START में दूसरे Node का Address Insert कर दें। यानी यदि START Pointer में Node1 के Address के स्थान पर Node2 का Address Store हो जाए, तो प्रथम Node इस Linked List LIST से Free हो जाएगा। अब इस Free Node Node1 द्वारा Reserved Memory को AVAILABLESPACE Linked List में Add करना होगा। ये काम हमारा Operating System कर लेता है।
START Pointer में Node2 का Address देने के बाद START Pointer Node2 के Address 200 को Point करेगा। यानी अब Node1 Free हो चुका है। इसलिए इसके Space को अब Free किया जा सकता है। Node1 Delete करने के बाद अब हमारी LIST निम्नानुसार होती है-
अब एक और स्थिति हमारे सामने आती है कि यदि Linked List में एक भी Node ना हो तो क्या होगा। यदि LIST में एक भी Node ना हो तो हम कह सकते हैं कि LIST Empty है। इस स्थिति में हमें Output में एक “Underflow” Message देना होगा। इस पूरे Discussion के आधार पर किसी Linked List LIST के प्रथम Node को Delete करने के लिए हम निम्नानुसार Algorithm Create कर सकते हैं-
[code] First Node Deletion Algorithm DELETE_FIRST_NODE(LIST, INFO, LINK, START, AVAILABLESPACE)
-
IF START = NULL then
PRINT “Underflow, LIST is Empty” and EXIT
-
PTR = START
-
AVAILABLESPACE = START [Give First Node to AVAILABLESPACE Linked List]
-
START = PTR[LINK] [Give Address of Second Node of the LIST to START]
-
EXIT [/code]
इस Algorithm के आधार पर हम निम्नानुसार एक Function Create करके किसी Linked List के प्रथम Node को Delete कर सकते हैं-
[code] First node Deletion Function void DeleteFirstNode(struct LIST **START) { struct LIST *PTR; if(*START == NULL) { printf("\nUnderflow, LIST is Empty"); return ; } PTR = *START; *START = PTR->LINK; free(PTR); } [/code]
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Data Structure and Algorithms in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Data Structure and Algorithms in Hindi | Page: 433 | Format: PDF