অ্যারে ডাটাস্ট্রাকচার

তোমাকে যদি তোমার ক্লাসের সকলের ডাটাস্ট্রাকচার বিষয়ে প্রাপ্ত মার্ক সংরক্ষণ রাখতে বলা হয় তাহলে তুমি কি করবে? তুমি যদি প্রোগ্রামিং এ একদম নতুন হয়ে থাকো এবং অ্যারে সম্পর্কে না জানো তবে তবে তোমার ভ্যারিয়েবল ডিক্লিয়ারেশন হবে অনেকটা এরকম।

double data1,data2,data3,data4.........datan;

অর্থাৎ তুমি যেটা করবে তোমার ব্যাচের স্টুডেন্টের সংখ্যা অনুযায়ী ভ্যারিয়েবল ডিক্লিয়ার করবে । কিন্তু এই কাজটি তুমি অতি সহজে অ্যারে ডাটাস্ট্রাকচার ব্যবহারের মাধ্যমে করতে পারো ।


অ্যারে ডিক্লিয়ারেশন :

int ara[5]; এভাবে আমরা একটি অ্যারে ডিক্লেয়ার করতে পারি, যেখানে অ্যারে নাম হচ্ছে ara, যেটিতে কেবল ইন্টিজার টাইপের ডাটা থাকবে আর এই অ্যারেতে মোট পাঁচটি সংখ্যা রাখা যাবে। প্রথমটি হচ্ছে ara[0] (কারণ অ্যারে ইনডেক্স ০ (শূন্য) থেকে শুরু হয় ), দ্বিতীয়টি ara[1], তৃতীয়টি ara[2], এভাবে পঞ্চম সংখ্যাটি হচ্ছে ara[4] (কারণ অ্যারে ইনডেক্স n-1 এ শেষ হয়, এখানে n=5) । অর্থাৎ, ara[i] হচ্ছে i+1তম উপাদান|

অ্যারেতে আমাদের আগে থেকে বলে দিতে হয় কয়টি ডাটা আমরা রাখবো । যেমন: ৪৫ জন স্টুডেন্টের ডাটাস্ট্রাকচার বিষয়ে প্রাপ্ত নম্বর রাখতে চাই সেক্ষেত্রে অ্যারে ব্যাবহার করবো। এক্ষেত্রে লিখতে পারি


double data[45]

এখানে তোমাকে আর কষ্ট করে ৪৫ টা ভেরিয়েবল ডিক্লিয়ার করতে হচ্ছে না বরং ভেরিয়েবলের নামের পর তৃতীয় বন্ধনীর মধ্যে তোমার প্রয়োজনীয় সংখ্যা বসলেই ঐ সংখ্যক ভেরিয়েবল ডিক্লিয়ার হয়ে যাবে।
এখানে আমাদের আগে থেকে ৪৫ টি জায়গা কম্পিউটার মেমোরিতে দখল করে নিতে হচ্ছে। কোনো কারণে যদি ছাত্রছাত্রী সংখ্যা কমে বা বাড়ে সেক্ষেত্রে মেমোরি কমানো বা বাড়ানোর কোনো উপায় নেই ।বোঝার সুবিধার্থে অ্যারেতে ডাটা যেভাবে থাকে তার একটি অবকাঠামো দেখানো হলো


মনে করি Value নামক একটি অ্যারেতে আমরা ৫,৯,১১,৮,৩ এই ৫ টি ইন্টেজার রাখবো। তাহলে আমাদের অ্যারে ডিক্লেরেশন হবে অনেকটা এরকম

int Value[5]={5,9,11,8,3};

এই ভ্যালুগুলো অ্যারেতে থাকবে অনেকটা নিচের টেবিলের মতো । এখানে টেবিলের প্রথম সারিতে আছে এড্রেস ( ভ্যালুটি কোন এড্রেসে আছে ), দ্বিতীয় সারিতে আছে অ্যারের ইনডেক্স নাম্বার , এবং তৃতীয় সারিতে আছে ভ্যালু ।

int Value[5]={5,9,11,8,3};


Address 1032 1036 1040 1044 1048
Index 0 1 2 3 4
Value 5 9 11 8 3



আমরা যখন কোনো অ্যারে ডিক্লিয়ার করি তখন এরা নির্দিষ্ট এড্রেস দখল করে। নির্দিষ্ট এড্রেস এইজন্য বলছি কোনোভাবে যদি এদের প্রথম এড্রেস সম্পর্কে জানা যায় তবে এদের প্রত্যেকের এড্রেস বলে দেওয়া সম্ভব । কারণ : যেহেতু ডাটা টাইপ ইন্টিজার সুতরাং এদের একটি হতে অন্য এড্রেসের পার্থক্য হবে ৪। অর্থাৎ ৫ এর এড্রেস যদি হয় ১০৩২ তাহলে ৯ এর হবে ১০৩৬ । একই ভাবে ১১,৮,৩ এর যথাক্রমে ১০৪০,১০৪৪,১০৪৮ হবে । তোমাদের যদি খুব কনফিউশন লাগে তবে নিচের কোডটি তোমাদের কম্পাইলারে রান করে বিষয়টি ক্লিয়ার হতে পার।





অ্যারেতে আমাদের আগে থেকে বলে দিতে হয় কয়টি ডাটা আমরা রাখবো । যার ফলে এর কিছু অসুবিধা আছে ।তোমরা অ্যারের অসুবিধাগুলো সম্পর্কে জানতে ও অ্যারে সম্পর্কে বিস্তারিত জানতে গুগল থেকে পড়ে নিতে পারো। .. !!
আমি তোমাকে সাহায্য করার জন্য কিছু লিংক দিলাম যা তুমি চাইলে দেখতে পারো। .. !

অ্যারের সুবিধা অসুবিধা

অ্যারে সম্পর্কে আরো জানতে 

মাল্টি ডাইমেনশনাল অ্যারে 

Popular posts from this blog

ফ্রাকশনাল ন‍্যাপস‍্যাক ( ব্রুটফোর্স মেথড )

সমস্যা ০১