কম্পিউটার টিউটোরিয়াল

C ভাষায় লিংকড লিস্টে হেড এবং টেইল এলিমেন্ট ডিলিশন লজিক


লিংকড লিস্ট ডাইনামিক মেমরি অ্যালোকেশন ব্যবহার করে অর্থাৎ সেগুলো সেই অনুযায়ী বড় ও ছোট হয়। এটি নোডের একটি সংগ্রহ।

নোডের দুটি অংশ রয়েছে, যেগুলো হলো ডেটা এবং লিংক। এগুলো নিচে ব্যাখ্যা করা হলো।

C ভাষায় লিংকড লিস্টে হেড এবং টেইল এলিমেন্ট ডিলিশন লজিক

লিংকড লিস্টে অপারেশন

C ভাষায় লিংকড লিস্টে তিনটি ধরণের অপারেশন রয়েছে:

  • ইনসার্শন (Insertion)
  • ডিলিশন (Deletion)
  • ট্রুভার্সিং (Traversing)

ডিলিশন (Deletion)

  • নোড চিহ্নিত করুন।
  • লিংকগুলো এডজাস্ট করুন যেন নোড ডি-অ্যালোকেট করলে লিস্ট অনকানেক্টেড কম্পোনেন্ট হয় না।
  • ডিলিট করার এলিমেন্ট রিটার্ন/ডিসপ্লে করুন।
  • মেমরি ডি-অ্যালোকেট করুন।

হেড এলিমেন্ট ডিলিট করুন (Delete Head element)

C প্রোগ্রামিং ভাষায় হেড এলিমেন্ট ডিলিট করার ধাপগুলো নিচে দেওয়া হলো:

1. void del_head() 2. { 3. int x;    Node *temp; 4. if(Head==NULL) 5. { 6. printf("List is empty"); 7. return; 8. } 9. x=Head->ele; 10. temp=Head; 11. if(Head==Tail) 12. Head=Tail=NULL: 13. Else 14. Head=Head->next; 15. printf("Deleted element %d",x); 16. free(temp); 17. }

এখানে,

স্টেপ ৪ - লিস্ট খালি কিনা চেক করে।

স্টেপ ৯ - ডিলিট করার এলিমেন্ট পড়ে।

স্টেপ ১০ - হেডকে টেম্প পয়েন্টার দিয়ে রেফার করে।

স্টেপ ১১ - লাস্ট ডিলিশন চেক করে।

স্টেপ ১৪ - হেড পয়েন্টারকে লিস্টের নেক্সট এলিমেন্টে সরিয়ে দেয়।

স্টেপ ১৫ - ডিলিট করার এলিমেন্ট ডিসপ্লে করে।

স্টেপ ১৬ - মেমরি ডি-অ্যালোকেট করে।

টেইল এলিমেন্ট ডিলিট করুন (Delete Tail element)

C প্রোগ্রামিং ভাষায় টেইল এলিমেন্ট ডিলিট করার ধাপগুলো নিচে দেওয়া হলো:

1. void del_tail() 2. { 3. int x; 4. Node *temp; 5. if(Head==NULL) 6. { 7. printf("List is empty"); 8. return; 9. } 10. temp=Head; 11. while(temp->next !=Tail) 12. temp=temp->next; 13. x=Tail->ele; 14. Tail=temp; 15. Temp=temp->next 16. Tail->next=NULL; 17. printf("Deleted element %d",x); 18. free(temp); 19. }

এখানে,

স্টেপ ৪ - লিস্ট খালি কিনা চেক করে।

স্টেপ ১০, ১১, ১২ - টেম্প পয়েন্টারকে লিস্টের লাস্ট বাট वन নোডে সরিয়ে দেয়।

স্টেপ ১৩ - ডিলিট করার টেইল এলিমেন্ট পড়ে।

স্টেপ ১৪ - টেইল পয়েন্টারকে লাস্ট বাট वन নোডে সরিয়ে দেয়।

স্টেপ ১৫ - টেম্প পয়েন্টারকে লিস্টের লাস্ট নোডে সরিয়ে দেয়।

স্টেপ ১৬ - টেইল নোড থেকে টেম্প নোডের রেফারেন্স সরিয়ে দেয়।

স্টেপ ১৭ - ডিলিট করার এলিমেন্ট ডিসপ্লে করে।

স্টেপ ১৮ - মেমরি ডি-অ্যালোকেট করে।


  1. সি প্রোগ্রামিং-এ লিংকড লিস্টের নির্দিষ্ট ইনডেক্সের নোড প্রিন্ট করা

  2. সি প্রোগ্রামিং-এ লিংকড লিস্টের বিকল্প নোড প্রিন্ট করা (ইটারেটিভ মেথড)

  3. সি প্রোগ্রামিং-এ লিংকড লিস্ট রিভার্স না করে রিভার্স অর্ডারে প্রিন্ট করা

  4. C প্রোগ্রামে এক্সট্রা স্পেস ছাড়া লিংকড লিস্ট উল্টে প্রিন্ট করা