ডগ লয়েড: ঠিক আছে, আপনি আছেন এই বিন্দু দ্বারা তাই
সম্ভবত বেশ পরিচিত অ্যারে এবং সংযুক্ত তালিকার সঙ্গে
দুটি প্রধান যা হয় ডাটা স্ট্রাকচার আমরা করেছি
সেট পালন সম্পর্কে সায়ীদ একই ধরনের তথ্য নিয়ে তথ্য সংগঠিত.
>> এখন আমরা কথা বলতে যাচ্ছেন পরিবর্তনের একটি দম্পতি সম্পর্কে
অ্যারে এবং সংযুক্ত তালিকার উপর.
এই ভিডিওতে আমরা চলুন stacks সম্পর্কে কথা বলার জন্য.
বিশেষভাবে আমরা কথা বলতে যাচ্ছেন সম্পর্কে একটি ডাটা স্ট্রাকচার একটি স্ট্যাকের বলা.
আগের আলোচনা থেকে প্রত্যাহার পয়েন্টার এবং মেমরি সম্পর্কে,
স্ট্যাকের হয় যে মেমরি সেগমেন্ট জন্য নাম
স্ট্যাটিক্যালি ঘোষণা করেন মেমরি মেমরি যে আপনি
আপনার নাম যে ভেরিয়েবল, নাম, এবং ইত্যাদি এবং ফাংশন ফ্রেম যা আমরা
কল স্ট্যাক ফ্রেম অস্তিত্ব.
সুতরাং এই একটি স্ট্যাক ডাটা স্ট্রাকচার মেমরি না একটি স্ট্যাক সেগমেন্ট.
ঠিক আছে.
>> কিন্তু একটি স্ট্যাক কি?
তাই এটা শুধু একটা বেশ অনেক কাঠামো বিশেষ ধরনের
যে একটি সংগঠিত উপায়ে তথ্য রক্ষণাবেক্ষণ.
আর দুটি খুব আছে সাধারণ উপায় বাস্তবায়ন
দুটি ডাটা স্ট্রাকচার ব্যবহার stacks আমরা ইতিমধ্যে সাথে পরিচিত হন যে,
অ্যারে এবং সংযুক্ত তালিকা.
কি একটি স্ট্যাক বিশেষ করে তোলে আমরা তথ্য করা যা ভাবে
স্ট্যাক, এবং পথ আমরা মধ্যে স্ট্যাক থেকে তথ্য মুছে ফেলার.
Stacks সঙ্গে বিশেষ করে নিয়ম শুধুমাত্র সবচেয়ে হয়
সম্প্রতি যোগ উপাদান মুছে ফেলা হতে পারে.
>> এটি একটি স্ট্যাক হিসাবে যদি এটি সম্পর্কে চিন্তা.
আমরা তথ্য পাইল করছি নিজেই উপরে,
উপরের এবং শুধুমাত্র জিনিস গাদা মুছে ফেলা হতে পারে.
আমরা নীচে জিনিস সরাতে পারবেন না অন্য সব কিছুর কারণ
ভেঙ্গে উপর পড়ে.
সুতরাং আমরা সত্যিই একটি স্ট্যাক নির্মাণ করা হয় যে আমরা তখন টুকরা টুকরা দ্বারা মুছে ফেলা হবে.
এই কারণে আমরা সাধারণভাবে পড়ুন একটি LIFO কাঠামো হিসেবে একটি স্ট্যাক,
, প্রথম স্থায়ী আউট.
LIFO, প্রথম, শেষ বার.
>> সুতরাং, কারণ এই সীমাবদ্ধতা নিয়ে তথ্য যোগ করা যেতে পারে কিভাবে
এবং একটি স্ট্যাক থেকে মুছে, সত্যিই আছে শুধু দুটি জিনিস আমরা একটি স্ট্যাক দিয়ে করতে পারেন.
আমরা যা, ধাক্কা পারেন আমরা যোগ করার জন্য ব্যবহার শব্দটি
উপরের একটি নতুন উপাদান গাদা, অথবা যদি স্ট্যাক অস্তিত্ব নেই
এবং আমরা তা গোড়া থেকে তৈরি করছি প্রথমেই স্ট্যাক তৈরি
ঠেলাঠেলি হবে.
এবং তারপর পপ, যে সি এস কতকাংশে শব্দটি আমরা অতি সম্প্রতি মুছে ফেলার জন্য ব্যবহার
স্ট্যাকের উপর থেকে উপাদান যোগ.
>> তাই আমরা উভয় তাকান চলুন বাস্তবায়নের উভয় অ্যারে ভিত্তিক
এবং লিঙ্ক তালিকা ভিত্তিক.
আর আমরা চলুন ভিত্তি অ্যারে দিয়ে শুরু.
সুতরাং এখানে মৌলিক ধারণা কি অ্যারে ভিত্তিক স্ট্যাক ডাটা স্ট্রাকচার
মত দেখাবে.
আমরা এখানে একটি টাইপ সংজ্ঞা আছে.
যে এর ভিতর আমরা দুই সদস্য আছে কাঠামো বা ক্ষেত্র.
আমরা একটি অ্যারে আছে.
এবং আবার আমি ব্যবহার করছি নির্বিচারে ডাটা টাইপ মান.
>> সুতরাং এই কোন ডাটা টাইপ হতে পারে, কোন int গৃহস্থালি বা অন্য কিছু তথ্য
আপনি পূর্বে তৈরি করা টাইপ.
সুতরাং আমরা মাপ ক্ষমতা একটি অ্যারে আছে.
ক্যাপাসিটি পাউন্ড, ধ্রুব সংজ্ঞায়িত হচ্ছে সম্ভবত অন্য কোথাও আমাদের ফাইলে.
তাই এই বিশেষ সঙ্গে ইতিমধ্যে লক্ষ্য আমরা সীমান্ত হয় বাস্তবায়ন
নিজেদেরকে হিসাবে সাধারণত ছিল অ্যারে ক্ষেত্রে,
আমরা পরিবর্তনশীল মাপ পরিবর্তন করা যেতে পারে, যা, যেখানে একটি নির্দিষ্ট সংখ্যক আছে
উপাদান সর্বোচ্চ যে আমরা আমাদের স্ট্যাকের মধ্যে লাগাতে পারেন.
এই ক্ষেত্রে এটি ক্ষমতা উপাদান.
>> আমরা ট্র্যাক রাখতে স্ট্যাক উপরের.
সবচেয়ে কি উপাদান সম্প্রতি স্ট্যাক যোগ?
এবং তাই আমরা যে ট্র্যাক রাখতে একটি পরিবর্তনশীল নামক উপরে.
আর এই সব একসাথে আবৃত পরার একটি স্ট্যাক নামে একটি নতুন ডাটা টাইপ মধ্যে.
এবং আমরা তৈরি করছি একবার এই নতুন ডাটা টাইপ
আমরা এটা করতে চাই বিবেচনা করতে পারেন অন্য কোন ডাটা টাইপ.
আমরা ঠিক মত স্ট্যাক এর ঘোষণা করতে পারেন আমরা int x, বা গৃহস্থালির কাজ y করতে পারে.
আর আমরা গাদা বলুন যখন এস, ভাল কি ঘটবে
আমরা একটি সেট পেতে হয় স্মৃতি আমাদের জন্য সেট একপাশে.
>> এই ক্ষেত্রে ক্ষমতা ইন আমি দৃশ্যত সিদ্ধান্ত নিয়েছে করেছি
আমি একটি পেয়েছেন কারণ 10 টাইপ স্ট্যাকের পরিবর্তনশীল
যা দুটি ক্ষেত্র প্রত্যাহার রয়েছে.
এই ক্ষেত্রে একটি অ্যারে, যাচ্ছে পূর্ণসংখ্যার একটি অ্যারে হতে
যেমন আমার উদাহরণ অধিকাংশ ক্ষেত্রে.
আর অন্য একটি পূর্ণসংখ্যা পরিবর্তনশীল শীর্ষ সংরক্ষণ করতে সক্ষম,
অতি সম্প্রতি যোগ স্ট্যাকে উপাদান.
তাই এক একক স্ট্যাক কি আমরা শুধু ভালো দেখায় সংজ্ঞায়িত.
এটা ধারণকারী একটি বক্স 10 একটি অ্যারের কি
এই ক্ষেত্রে পূর্ণসংখ্যা হতে হবে এবং সবুজ সেখানে অন্য একটি পূর্ণসংখ্যা পরিবর্তনশীল
স্ট্যাক উপরের ইঙ্গিত.
>> উপরের সেট করুন স্ট্যাক আমরা শুধু s.top বলে.
যে আমরা একটি অ্যাক্সেস কিভাবে একটি কাঠামো রিকল ক্ষেত্র.
s.top কার্যকরভাবে 0 সমান আমাদের স্ট্যাকের এই আছে.
তাই আবার আমরা দুটি অপারেশন আছে আমরা এখন সঞ্চালন করতে পারে.
আমরা ধাক্কা পারেন এবং আমরা পপ পারেন.
এর ধাক্কা দিয়ে শুরু করা যাক.
আবার, একটি নতুন যোগ করা হয় ঠেলাঠেলি স্ট্যাকের উপর থেকে উপাদান.
>> তাই কি আমরা করতে প্রয়োজন না এই অ্যারে ভিত্তিক বাস্তবায়ন?
পাশাপাশি সাধারণ দ্য এ ধাক্কা ফাংশন যাচ্ছে
একটি গ্রহণ করার প্রয়োজন স্ট্যাক পয়েন্টার.
এখন একটি দ্বিতীয় নিতে এবং এটি সম্পর্কে চিন্তা.
কেন আমরা গ্রহণ করতে চায় স্ট্যাক একটি পয়েন্টার?
পূর্ববর্তী ভিডিও থেকে প্রত্যাহার পরিবর্তনশীল সুযোগ এবং পয়েন্টার,
আমরা শুধু পাঠানো হলে হবে কি স্ট্যাক, একটি প্যারামিটার হিসেবে বরং এর?
আসলে সেখানে কি হস্তান্তর করা হবে?
আমরা একটি কপি তৈরি করছি মনে রাখুন আমরা একটি ফাংশন এটি পাস হলে
তবে আমরা পয়েন্টার ব্যবহার.
আর তাই এই ফাংশন চাহিদা ধাক্কা স্ট্যাক একটি পয়েন্টার গ্রহণ করতে
আমরা আসলে পরিবর্তন করছি যাতে স্ট্যাক আমরা পরিবর্তন অভিপ্রায়.
>> অন্যান্য জিনিস ধাক্কা সম্ভবত চায় গ্রহণ টাইপ মান একটি তথ্য উপাদান.
এই ক্ষেত্রে, আবার একটি পূর্ণসংখ্যা যে আমরা স্ট্যাকের শীর্ষে যোগ চলুন.
তাই আমরা আমাদের দুটি প্যারামিটার পেয়েছেন.
আমরা কি যাচ্ছি এখন ধাক্কা ভেতরে কি?
ওয়েল, কেবল, আমরা শুধু যোগ করতে যাচ্ছেন স্ট্যাক উপরের যে উপাদান
এবং তারপর এর ঊর্ধ্বতন পরিবর্তন স্ট্যাকের যে মূল্য বিন্দু গুলি, হয়.
তাই এই কি একটি ফাংশন ধাক্কা জন্য ঘোষণা
একটি অনুরূপ হতে পারে অ্যারে ভিত্তিক বাস্তবায়ন.
>> আবার এই একটি ধরাবাঁধা নিয়ম নয় আপনার এটি পরিবর্তন এবং হতে পারে
এটা বিভিন্ন উপায়ে পরিবর্তন হওয়ার সম্ভাবনা রয়েছে.
সম্ভবত এর বিশ্বব্যাপী ঘোষিত হয়.
এবং যাতে আপনি এমন হবে না এটি একটি প্যারামিটার হিসেবে পাস করতে.
এই আবার মাত্র হয় ধাক্কা জন্য সাধারণ ক্ষেত্রে.
আর বিভিন্ন আছে উপায় এটি বাস্তবায়ন.
কিন্তু এই ক্ষেত্রে আমাদের ধাক্কা নিতে যাচ্ছে
দুটি আর্গুমেন্ট, একটি স্ট্যাক একটি পয়েন্টার এবং টাইপ মান, পূর্ণসংখ্যা একটি তথ্য উপাদান
এই ক্ষেত্রে.
>> তাই আমরা যদি আমরা, এর ঘোষণা s.top 0 সমান বলেন.
এখন এর ধাক্কা দেওয়া স্ট্যাকের মধ্যে সংখ্যা 28.
ওয়েল, যে কি মানে?
ওয়েল বর্তমানে স্ট্যাক উপরের 0 হয়.
তাই কি মূলত ঘটতে যাচ্ছে
আমরা সংখ্যা বিদ্ধ চলুন অ্যারে পাঁচ 0 মধ্যে 28.
বেশ সহজবোধ্য, ঠিক আছে, যে শীর্ষ ছিল এবং এখন আমরা যেতে ভাল.
এবং তারপর আমরা তা পরিবর্তন করতে হবে স্ট্যাক উপরের হতে হবে.
পরবর্তী সময় যাতে আমরা একটি উপাদান ধাক্কা,
আমরা তা ধারণ করতে যাচ্ছেন অ্যারে অবস্থান, সম্ভবত না 0.
আমরা মুছে ফেলার ব্যাপারে না আমরা ঠিক আছে কি করা.
তাই আমরা ঠিক উপরের 1 স্থানান্তর করব.
যে সম্ভবত ইন্দ্রিয় তোলে.
>> এখন আমরা অন্য উপাদান লাগাতে চান তাহলে স্ট্যাকের মধ্যে, আমরা 33 ধাক্কা চান বলে
অবশ্য, এখন আমরা শুধু 33 নিতে যাচ্ছেন এবং অ্যারের পাঁচ নম্বর এ লাগাতে হবে
1, এবং তারপর উপরের পরিবর্তন আমাদের অ্যারে পাঁচ দুই নম্বর হতে গাদা.
তাই পরবর্তী সময় যদি আমরা করতে চান স্ট্যাকের মধ্যে একটি উপাদান ধাক্কা,
এটা অ্যারের পাঁচ 2 রাখা হবে.
আর এর এক যে আরো সময় না দেওয়া.
আমরা stacks বন্ধ 19 ধাক্কা করব.
আমরা অ্যারে পাঁচ 2 19 করা হবে এবং আমাদের স্ট্যাক উপরের পরিবর্তন
অ্যারে পাঁচ 3 হতে তাই পরবর্তী সময় আমরা যদি
আমরা যেতে ভাল একটি ধাক্কা করা প্রয়োজন.
>> ঠিক আছে, তাই যে সংক্ষেপে ঠেলে.
কি পপিং সম্পর্কে?
তাই পপিং সাজানোর ঠেলাঠেলি করতে সহযোগীর.
এটা আমরা স্ট্যাক থেকে তথ্য মুছে ফেলার কিভাবে.
আর সাধারণ পপ চাহিদা মধ্যে নিচের কাজগুলো করতে.
এটি একটি পয়েন্টার গ্রহণ করা প্রয়োজন সাধারণ ক্ষেত্রে আবার গাদা.
অন্য কিছু যদি আপনি পারে বিশ্বব্যাপী স্ট্যাক ঘোষণা করেছেন,
সেক্ষেত্রেও আপনি তা পাস করার প্রয়োজন না কারণ এটি ইতিমধ্যেই তা অ্যাক্সেস আছে
একটি বিশ্বব্যাপী পরিবর্তনশীল হিসাবে.
কিন্তু অন্য তখন আমরা কি করতে হবে?
আচ্ছা আমরা বৃদ্ধিশীল হয়েছে ধাক্কা স্ট্যাকের উপরে,
তাই আমরা সম্ভবত চান চলুন স্ট্যাক উপরের হ্রাস
পপ, ডান?
এবং তারপর অবশ্যই আমরা চাই চলুন
আমরা মুছে ফেলার জন্য যে মূল্য ফেরত দিতে.
আমরা উপাদান যোগ করছি, আমরা চাই পরবর্তী উপাদান খুঁজে পেতে,
সম্ভবত আসলে আমরা তাদের তাই আমরা সঞ্চয় করতে চান
শুধু থেকে তাদের মুছে না গাদা এবং তারপর তাদের সঙ্গে কিছুই না.
সাধারনত আমরা হন তাহলে ঠেলাঠেলি এবং এখানে পপিং
আমরা এই সঞ্চয় করতে চান একটি অর্থপূর্ণ ভাবে তথ্য
এবং তাই এটা দেখা যায় না অর্থে শুধু এটা বর্তমান অবস্থাই রেখে দিতে.
তাই এই কাজ করা উচিত সম্ভবত আমাদের জন্য একটি মান প্রত্যাবর্তন.
>> তাই এই পপ জন্য কি একটি ঘোষণা উপরের বামদিকের সেখানে অনুরূপ হতে পারে.
এই ফাংশন আয় টাইপ মান তথ্য.
আবার আমরা ব্যবহার করছি পূর্ণসংখ্যার জুড়ে.
এবং এটি একটি স্ট্যাক হিসাবে একটি পয়েন্টার গ্রহণ তার একমাত্র যুক্তি বা একমাত্র প্যারামিটার.
তাই কি পপ করতে যাচ্ছে?
আসুন আমরা এখন সেটি যাক এর বন্ধ একটি উপাদান পপ.
তাই আমি stacks এর সর্বশেষ যে বলেন স্মরণ প্রথম আউট, LIFO ডাটা স্ট্রাকচার, মধ্যে.
যা উপাদান যাচ্ছে স্ট্যাক থেকে অপসারণ করা?
আপনি 19 অনুমান করেছেন?
ডান হতে চাই, কারণ.
19 আমরা যোগ শেষ উপাদান ছিল আমরা উপাদান ঠেলাঠেলি করছিল যখন গাদা,
এবং তাই এটি প্রথম যাচ্ছে মুছে পরার যে উপাদান.
এটা আমরা 28 বলেছেন হিসাবে যদি, এবং তারপর আমরা, এটি উপরে 33 করা
এবং আমরা যে উপরে 19 করা.
আমরা বন্ধ করা যাবে একমাত্র উপাদান 19.
>> এখন এখানে চিত্রটি আমি কাজ করেছি তা সাজান অ্যারে থেকে 19 মুছে ফেলা হয়.
যে আসলে না আমরা কি করতে যাচ্ছেন.
আমরা ঠিক মত করতে যাচ্ছেন এটা নেই জাহির.
এটা সেখানে এখনও যে মেমরি পাঁচ,
কিন্তু আমরা এটা উপেক্ষা করতে যাচ্ছেন আমাদের স্ট্যাক উপরের পরিবর্তন করে
2 3 থেকে.
আমরা হলে তাই এখন ধাক্কা স্ট্যাকের মধ্যে অন্য উপাদান,
এটা ওভার 19 লিখতে হবে.
>> কিন্তু এর না কষ্ট দিয়ে যেতে দেওয়া স্ট্যাক থেকে 19 মোছার.
আমরা শুধু এটা নেই সাজা হতে পারে.
স্ট্যাকের উদ্দেশ্যে এটি যদি চলে গেছে আমরা 2 পরিবর্তে 3 হতে উপরের পরিবর্তন.
ঠিক আছে, এটা অনেক সুন্দর ছিল তাই.
যে আমরা যা করতে হবে সব একটি উপাদান প্রস্থান করতে.
চলো এটা আবার করি.
তাই আমি এখানে লাল এটা হাইলাইট করেছি আমরা অন্য কল করছেন ইঙ্গিত.
আমরা একই জিনিস কাজ করতে যাচ্ছেন.
>> তাই কি ঘটতে যাচ্ছে?
ওয়েল, আমরা সংরক্ষণ চলুন এক্স 33 এবং আমরা চলুন
1 স্ট্যাকের উপরের পরিবর্তন.
আমরা একটি ধাক্কা এখন হলে যে তাই আমরা করছি যা স্ট্যাকের মধ্যে উপাদান
এখনই করতে যাচ্ছে, কি ঘটতে যাচ্ছে
আমরা মুছে ফেলা চলুন অ্যারে পাঁচ নম্বর 1.
সাজান বাকি ছিল যে 33 যাতে যে পিছনে আমরা কৃত্রিম
এখন আর নেই, আমরা শুধু চলুন এটা জখম পরিবর্তে সেখানে 40 করা.
এবং তারপর অবশ্যই, আমরা সঙ্কটকালে তৈরি থেকে,
আমরা বাড়ায় চলুন 1 থেকে 2 স্ট্যাক উপরের
তাই আমরা এখন যোগ তাহলে যে অন্য উপাদান এটা করব
অ্যারে পাঁচ নম্বর দুটি ঢোকা.
>> এখন লিঙ্ক তালিকা অন্য হয় stacks এর বাস্তবায়ন ভাবে.
আর এই সংজ্ঞা যদি পর্দা এখানে, আপনি পরিচিত দেখায়
এটা প্রায় মনে হচ্ছে, কারণ এটি ঠিক একই, আসলে,
এটা অনেক সুন্দর ঠিক হয় একটি একেলা লিঙ্ক তালিকা হিসাবে একই,
আপনাকে আমাদের আলোচনা থেকে প্রত্যাহার হলে একেলা অন্য ভিডিওতে তালিকা লিঙ্ক.
এখানে শুধুমাত্র সীমাবদ্ধতা , প্রোগ্রামার হিসেবে আমাদের জন্য নয়
আমরা অনুমতি দেওয়া হয় না সন্নিবেশ বা এলোমেলোভাবে মুছে
একেলা লিঙ্ক তালিকা থেকে আমরা পূর্বে কাজ করতে পারে যা.
আমরা কেবল এখন ঢুকিয়ে থেকে মুছে দিতে পারেন সামনে বা লিঙ্ক উপরের
তালিকায়.
যে সত্যিই শুধুমাত্র এর পার্থক্য যদিও.
এই অন্যথায় একটি একেলা লিঙ্ক তালিকা.
এটা শুধুমাত্র সীমাবদ্ধতা নিজেদের উপর প্রতিস্থাপন
প্রোগ্রামারদের হিসাবে যে একটি স্ট্যাকের মধ্যে এটি পরিবর্তন.
>> এখানে নিয়ম সবসময় একটি বজায় রাখা হয় একটি লিঙ্ক তালিকা মাথার পয়েন্টার.
এই কোর্সের একটি সাধারণত হয় প্রথম গুরুত্বপূর্ণ নিয়ম.
একেলা আপনি তালিকা যাহাই হউক না কেন লিঙ্ক জন্য শুধুমাত্র মাথার একটি পয়েন্টার প্রয়োজন
যে আছে যাতে চেইন পড়ুন পাবে
প্রত্যেক অন্যান্য উপাদান লিঙ্ক তালিকায়.
কিন্তু এটি বিশেষ করে এর একটি স্ট্যাক সঙ্গে গুরুত্বপূর্ণ.
আর তাই সাধারণত আপনি আছেন আসলে চান যাচ্ছে
এই পয়েন্টার একটি বিশ্বব্যাপী পরিবর্তনশীল হতে.
এটা সম্ভবত যাচ্ছে আরও সহজ যে ভাবে হতে.
তাই ধাক্কা এবং পপ সহধর্মীদের কি হয়?
রাইট.
তাই আবার ঠেলে যোগ হয় স্ট্যাক একটি নতুন উপাদান.
একটি লিঙ্ক তালিকায় যে আমরা আছে চলুন মানে
আমরা যে একটি নতুন নোড তৈরি করতে লিঙ্ক তালিকায় যোগ করতে যাচ্ছে,
এবং তারপর সতর্ক পদক্ষেপ অনুসরণ আমরা পূর্বে রূপরেখা করেছি যে
একেলা লিঙ্ক তালিকা মধ্যে এটি যোগ করতে চেইন ভঙ্গ ছাড়া চেইন
এবং হারানো বা কোনো অনাথ লিঙ্ক তালিকা উপাদান.
এবং যে মূলত কি যে লেখার একটু ছিটে আছে সংক্ষিপ্ত বিবরণ.
আর এর কটাক্ষপাত করা যাক একটি ডায়াগ্রাম হিসাবে এটি এ.
>> তাই এখানে আমাদের লিঙ্ক তালিকা.
এটা একই সময়ে চারটি উপাদান রয়েছে.
আরো নিখুঁতভাবে এখানে আমাদের কী চারটি উপাদান ধারণকারী গাদা.
আর আসুন আমরা এখন সেটি যাক এই স্ট্যাকের মধ্যে একটি নতুন আইটেম ধাক্কা.
এবং আমরা একটি নতুন ধাক্কা চান যার ডাটা মূল্য আইটেমটি 12.
আচ্ছা আমরা কি করতে যাচ্ছি কি?
ওয়েল প্রথম আমরা চলুন পরিবর্তনশীল malloc স্থান,
একটি নতুন নোডের জন্য স্থান বরাদ্দ.
এবং অবশ্যই অবিলম্বে পরে আমরা সবসময় আমরা malloc একটি কল করা
শূন্য চেক করতে ভুলবেন না আমরা ফিরে নাল পেয়েছিলাম কারণ যদি
সমস্যা কিছু বাছাই করা হয়েছে.
আমরা যে নাল ডি-রেফারেন্স করতে চান না পয়েন্টার অথবা আপনি একটি seg দোষ ক্ষতিগ্রস্ত হবে.
এটা ভালো না.
সুতরাং আমরা নোড malloced থাকেন.
আমরা এখানে সাফল্য ছিল করেছি অনুমান করব.
আমরা শুধুমাত্র 12 লাগাতে যাচ্ছেন যে নোড ডাটা ক্ষেত্র.
এখন আপনি কি মনে করতে আমাদের পয়েন্টার যা তাই আমরা শৃঙ্খল বিরতি না পরের প্যাচসমূহ?
আমরা এখানে বিকল্প একটি দম্পতি আছে কিন্তু নিরাপদ হতে যাচ্ছে যে শুধুমাত্র এক
পয়েন্টার পরবর্তী সংবাদ সেট করা হয় তালিকার পুরানো মাথার দিকে নির্দেশ
বা শীঘ্রই হবে কি তালিকার পুরানো মাথা.
আর এখন সব যে আমাদের উপাদান একসঙ্গে শৃঙ্খলিত করা হয়,
আমরা শুধু নির্দেশ তালিকায় স্থানান্তর করতে পারেন নতুন করে যে একই জায়গা.
আর আমরা এখন কার্যকরভাবে push করা একটি স্ট্যাক সামনে সম্মুখের নতুন উপাদান.
>> আমরা পপ শুধু চাই যে প্রথম উপাদান মুছে দিন.
তাই মূলত কি আমরা এখানে যা করতে হবে
আমরা দ্বিতীয় উপাদান খুঁজে পেতে আছে.
অবশেষে যে নতুন হয়ে যাবে আমরা প্রথম এক মোছার পর মাথা.
তাই আমরা ঠিক থেকে শুরু করতে হবে শুরুতে, এক অগ্রসর.
আমরা এক একটি হোল্ড পেয়েছিলাম করেছি যেখানে আমরা এগিয়ে বর্তমানে
আমরা নিরাপদে প্রথম এক মুছে দিতে পারেন হয় এবং তারপর আমরা শুধু মাথা সরাতে পারেন
কি ছিল নির্দেশ এখন তাহলে দ্বিতীয় মেয়াদে এবং
এর পর প্রথম নোড মুছে ফেলা হয়েছে.
>> তাই আবার, কটাক্ষপাত গ্রহণ এটা একটি ডায়াগ্রাম হিসাবে আমরা
এখন একটি পপ চান এই স্ট্যাকের বন্ধ উপাদান.
তাই আমরা কি করব?
আচ্ছা আমরা প্রথম তৈরি করতে যাচ্ছেন যাচ্ছে যে একটি নতুন পয়েন্টার
প্রধান হিসেবে একই স্পট নির্দেশ.
আমরা এটা এক অবস্থানে স্থানান্তর করতে যাচ্ছেন এগিয়ে trav সমান বলার অপেক্ষা রাখে না
উদাহরণস্বরূপ, পরের trav যা trav পয়েন্টার এক আগাম হবে
অগ্রবর্তী অবস্থানে.
এখন আমরা পেয়েছেন যে একটি প্রথম উপাদান উপর রাখা
পয়েন্টার বলা তালিকা, এবং এর মাধ্যমে নামক একটি পয়েন্টার মাধ্যমে দ্বিতীয় উপাদান
trav, আমরা নিরাপদে যে মুছে দিতে পারেন স্ট্যাক থেকে প্রথম উপাদান
বাকি হারানো ছাড়া চেন আমরা কারণ
পড়ুন একটি উপায় আছে দ্বিতীয় উপাদান
প্রণালী দ্বারা ফরোয়ার্ড পয়েন্টার trav বলা.
>> তাই এখন আমরা যে নোড মুক্ত করতে পারেন.
আমরা তালিকা পারেন.
এবং তারপর আমরা এখন কি করতে হবে সব হয় একই জায়গা বিন্দু তালিকা স্থানান্তর
যে trav আছে, এবং আমরা ফিরে সাজান আছেন আমরা 12 push করা আগে আমরা শুরু যেখানে
প্রথমেই উপর, ঠিক আছে.
আমরা কোথায় ছিলাম এই ঠিক হয়.
আমরা এই চারটি উপাদান স্ট্যাক ছিল.
আমরা একটি পঞ্চম যোগ.
আমরা একটি পঞ্চম ধাক্কা উপাদান, এবং তারপর আমরা
popped যে অতি সম্প্রতি পিছন থেকে উপাদান যোগ.
>> যে অনেক সুন্দর সত্যিই সব stacks আছে.
আপনি অ্যারে হিসাবে তাদের বাস্তবায়ন করতে পারে.
আপনি লিঙ্ক তালিকা হিসাবে তাদের বাস্তবায়ন করতে পারে.
অন্যান্য, অবশ্যই, আছে উপায় হিসেবে তাদের বাস্তবায়ন করতে.
আমরা ব্যবহার হবে মূলত কারণ stacks এর এমনভাবে তথ্য বজায় রাখার জন্য হয়
অতি সম্প্রতি যোগ করে উপাদান আমরা প্রথম জিনিস হয়
ফিরে পেতে চান যাচ্ছে.
আমি ডগ লয়েড আছি, এই CS50 হয়.