#04 [Data Structures] - Stack Using Linked List(Linked Stack)-Part 1

preview_player
Показать описание
كورس تراكيب البيانات باللغة العربية:

المكدس بإستخدام القوائم المتصلة (ربط المكدس) 1

Course Data Structures In Arabic:

Stack Using Linked List (Linked Stack) -Part 1

--



Рекомендации по теме
Комментарии
Автор

شرحك طويل و مفصل لكن ليس بسيط .. حاول تعطى امثلة حياتية بالشرح حتى توصل المعلومة او المفهومش اسرع لكن فى كل الاحوال مشكور على المجهود

mohako
Автор

طريقة شرحك جميله جدا اتمني يكون ليك شروحات اكثر, جزاك الله خيرا .

alhussienmohamed
Автор

يا شيخ الله يوفقك يكفينا انك تضع الكود امامنا في اغلب لغات البرمجة يعني مش مقتصر على لغة معينة . جزاك الله خيرا 💙

ijherzallah
Автор

بحق ذا الفجر ربنا يسعد ايامك ويجبر بخاطرك3 >

nourmagde
Автор

انا اتفرجت علي الفيديو اكثر من مرة وشاهدت الفديو اللي بعدة وعلي حسب فهمي ان فالدقيقة 5:00
واعتقد الصح ان
newNode->iteam = stack top
وكذلك فالديقية 5:50
اتمني ان ترد علي مهندس عادل وجزاك الله خيرا

sayedabdo
Автор

كنت اتمني ان الاقي Javascript في الكورس

aboelsoof
Автор

هلق استاذ انت حكيت انه منستخدم ال pointers مشان ما نحدد ال size بس فيني بال array ماحدد ال size بدون ما استخدم ال max_size وشروطها بال مابعرف اذا شغلي صح بس كمثال
.
.
.

شغلة تانية هي بجوز تخبيص ههههه بس انا اخد ال lifo وال fifo كمحاسبة برا موضوع البرمجة ... فجربت اعمل لل fifo فنكشنز خاصة فيه.... غالبا غلط لان تستهلك وقت اطول بسبب ال for الي مستخدمها بس كفكرة حبيت جربها




#include <iostream>
#include <string>
using namespace std;

template< class t>
class stack {
int top=-1;
t item[];
public:

void push_LIFO(int a)
{

top++;
item[top] = a;

}

void push_FIFO(int a)
{


top++;
for (int i = top; i >= 0; i--)
{
item[i] = item[i - 1];
}
item[0] = a;

}
bool is_empty()
{
return top < 0; // if (top == -1)
// return true;
// else return false;

}
void pop_LIFO() {
if (is_empty())
cout << "stack is empty";
else
top--;
}

void pop_LIFO(t& z)
{
if (is_empty())
cout << "stack empty on pop";
else
{
z = item[top];
top--;
}

}
void get_top(t& stacktop)
{
if (is_empty())
cout << "stack is empty";
else
stacktop = item[top];
cout << stacktop << endl;
}

void print()
{
cout << "[";
for (int i = top; i >= 0; i--)
{
cout << " " << item[i] << " ";
}
cout << "]" << endl;
}







void pop_FIFO() {
if (is_empty())
cout << "stack is empty";
else
for (int i = 0; i < top; i++)
{
item[i] = item[i + 1];
}
top--;


}

void pop_FIFO(t& z) {
if (is_empty())
cout << "stack is empty";
else
z = item[0];
for (int i = 0; i < top; i++)
{
item[i] = item[i + 1];
}
top--;
}





};
int main()
{
stack <int>s;
s.push_LIFO(5);
s.push_LIFO(10);
s.push_LIFO(15);
s.push_LIFO(20);
s.print();
int y = 0;
s.get_top(y);
cout << y << endl;
s.pop_LIFO();
s.print();
s.pop_LIFO();
s.print();

cout << endl << endl << endl;

s.push_LIFO(7);
s.print();
s.pop_FIFO();
s.print();
int a;
s.pop_FIFO(a);
s.print();
cout << endl << a << endl;
s.push_FIFO(3);
s.push_FIFO(2);
s.print();
s.push_FIFO(6);
s.print();

}

ss-ehbm
Автор

يعطيك الف عافيه....لو سمحت ممكن تنصحني بكتاب او موقع حدا ادرب اكتب كود عشان اعمل exercise على الي تعلمتوا ...

syrb
Автор

شرحك ممتازز جداا بس مدري من عم يلحقك تتكلم سرررريع

zain_abwharbu
Автор

عندي سؤالين لو سمحت ..
الأول : ليه بنعمل نوع المؤشر نود ليش ما نعمله علي نفس نوع العناصر اللي جوه الستاك
التاني : ليش ما في مرونه في تحريك التوب ستاك بوينتر ولازم نعمل مؤشر مؤقت نحفظه فيه اثناء عملية الحذف

OmarAhmedAbdulwahhab
Автор

والله انت ممتاز جدا بس محتاج تكون ابطأ شويه في الشرح لانك سريع اوي

abdofoad
Автор

سؤال لو سمحت مهندس عادل هل تعرف موقع للتمرن على الداتا ؟ لاني حاسس كل ما بمشي بخطوة بنسى الي قبلها وهيك تقدمي بطيئ وخجول جدا

wael