يعطيك العافية وانشالله الله يوفقك بحياتك على هذا الشرح الرائع لكن يوجد عندي سؤال كيف اقوم بأضافة عدد من الأرقارم عن طريق الفانكشين Append عوضا عن رقم واحد والبوسيشين لايهم المهم هو ادخال الأرقام جميعها في خانة void insert(std::initializer_list ilist); هل ممكن من كتابة الفانكشين وشكرا
ال temp حاليا بقا بيؤشر على اخر node في ال linked list ... و بعدها خليت ال temp->next اللي هو ال next address بتاع اخر node بيساوي ال new node حتى تكون ال new node هي اخر node في ال linked list
I've question about the function push that would be used in the linked list push(node **head, int v) why do we do deference twic or why do write the star two times .I tried to understand it but unfortunately I don't get it can you help me pls ?
it's seems like this function insert the element in the beginning of the linked list. We know that there is a variable called "head" that store the address of the first node in the linked list, so that's mean the "head" is a pointer to node variable. When you need to pass the head itself to a specific function, and this function will modify the value that stored in the head itself which is in our case "the address of the first node" then you need to pass this variable by reference To pass a variable by reference, you pass it address in the memory not the data that stored in the variable, so you use a pointer to store that address When you need to pass the address of an integer variable you need a "pointer to integer", the same thing happen here, if you want to pass the address of an "pointer to integer" variable you need a pointer that pointing on that pointer to integer. Dereference once -> Access to the head itself and modify it. Dereference twice -> Access to the first node in the linked list. I strongly recommend to watch these videos: 1) ruclips.net/video/0l4MR0eEgz4/видео.html 2) ruclips.net/video/_imuU13KV4c/видео.html
هو اخر حاجه temp.next=new node دي معناها ان node الجديده اللي المفروض تتربط ب بباقي list بنحطها في new node طيب node اللي قبل الnode الجديده بتعرف address بتاعها منين معلش وضحلي الجزئيه دي
لم عملنا المؤشر المساعد وقنالو يساوي الهد هل النكست المؤشر المساعديؤشر على ال هيد ولاالموشر المساعد نفسو يؤشر على هيد وفي حال انو المؤشر المساعد يؤشر على الهيد ماهي قيمة النيكست المؤشر المساعد
المؤشر المساعد بيساوي الهيد واحنا عارفين ان الهيد بتشاور على اول عنصر فالسلسلة ولنفترض اول عنصر مكانه 200 فالذاكرة, فقيمة الهيد تساوي 200 حاليا المؤشر المساعد قيمة بتساوي 200 يعني بشاور على اول عنصر فالسلسه برضو
الخطأ الاساسي والاكبر عندك انك بتحرك الـ head نفسها لما تعمل append و عند عرض العناصر المفروض ال head بيفضل مكانه وبيأشر على اول عنصر دايما فال linked list لأنك لو حركته العناصر الي كانت فالاول ضاعت منك خلاص ومش هتقدر توصلها الخطأ التاني ان المفروض ال node عندك يكون فيها data , *next فقط وليس كل الكلاس
اشكرك جدا جدااا 🫡🫡🫡🫡🫡 في ميزان حسناتك ربي يدخلك الفردوس الاعلى ويرزقك
السلام عليكم والله دروس في القمة . وشرح سلس و رائع . الله يرحم والديك .
الله يسعدك ماقصرت قناتك جداً رائعة وفادتني
المحترم بزياده وافضل شرح
الله يجازيك كل خير
ربنا يجعله فى ميزان حسناتك
شكرا جدا لك لهذيه الفيديوهات الرائعه ,اريد معذرا ان تستكمل هده السلسله الجيده ,لاني احتاجها بشده في دراستي, شكرا مقدما
بارك الله فيك يا اخي ....
شرحك واضح جدا
شرحك جميلللللللللللللللل ياليت ماتبخل عللى طلابك وتشرح لنا كل ماتفهمو
الله يجزاك الجنة شرح بسيط ورائع
you saved my life, thank you !
بارك الله فيك وجعله في ميزان حسناتك
الله ينور دائما متألق
best explanation
لو سمحت كيف استخدمت temp->next بدون ما تحجز ذاكرة او تعمل دخول لل node temp .data node temp.next ?
شكرا جزيلًا لشرحك❤
لكن سؤال مو المفروض temp->next=newNode تكون داخل ال else?
I wish this video has subtitles so people who don't know your language can also understand.
بشمهندس ليه لما بعمل سطر node *head =NULL بيجيلي ايرور data member initializer is not allowed ؟؟
شكرا" على الشرح الرائع \
perfect
يعطيك الصحة و العافية
rabi ybereklak amiin
يعطيك العافية وانشالله الله يوفقك بحياتك على هذا الشرح الرائع لكن يوجد عندي سؤال كيف اقوم بأضافة عدد من الأرقارم عن طريق الفانكشين Append عوضا عن رقم واحد والبوسيشين لايهم المهم هو ادخال الأرقام جميعها في خانة
void insert(std::initializer_list ilist);
هل ممكن من كتابة الفانكشين وشكرا
best chanl
thank you bro , you save me :) ... keep on please
يا استاذ لو سمحت
ليش بعد while جعلت
temp->next = newNode;
ياليت تفهمني أو اي حد من الشباب
ال temp حاليا بقا بيؤشر على اخر node في ال linked list ... و بعدها خليت ال temp->next اللي هو ال next address بتاع اخر node بيساوي ال new node حتى تكون ال new node هي اخر node في ال linked list
هو مش المفروض ان ال
time complexity
لل insertion هو
O(1)
فى ال linkedlist
وحضرتك عامل ال function
O(N) ازاي؟
linked list ممكن تتضمن class?
I've question about the function push that would be used in the linked list push(node **head, int v) why do we do deference twic or why do write the star two times .I tried to understand it but unfortunately I don't get it can you help me pls ?
void push(node_t ** head, int val) {
node_t * new_node;
new_node = malloc(sizeof(node_t));
new_node->val = val;
new_node->next = *head;
*head = new_node;
}
it's seems like this function insert the element in the beginning of the linked list.
We know that there is a variable called "head" that store the address of the first node in the linked list, so that's mean the "head" is a pointer to node variable.
When you need to pass the head itself to a specific function, and this function will modify the value that stored in the head itself which is in our case "the address of the first node" then you need to pass this variable by reference
To pass a variable by reference, you pass it address in the memory not the data that stored in the variable, so you use a pointer to store that address
When you need to pass the address of an integer variable you need a "pointer to integer", the same thing happen here, if you want to pass the address of an "pointer to integer" variable you need a pointer that pointing on that pointer to integer.
Dereference once -> Access to the head itself and modify it.
Dereference twice -> Access to the first node in the linked list.
I strongly recommend to watch these videos:
1) ruclips.net/video/0l4MR0eEgz4/видео.html
2) ruclips.net/video/_imuU13KV4c/видео.html
هو اخر حاجه temp.next=new node
دي معناها ان node الجديده اللي المفروض تتربط ب بباقي list بنحطها في new node
طيب node اللي قبل الnode الجديده بتعرف address بتاعها منين معلش وضحلي الجزئيه دي
لانه شغال بالــ Pointers غالبا انتي شغال بلغات عالية المستوي عشان النقطة دي مربكة ليكي
اخي سامي الله يرحم والديك اتم الدورة
بس تعقيب صغير مو آخر شي لازم نقول أنوال newNode -> next = NULL; ?
لأنها صارت في آخر السلسلة
لو تلاحظ ان السطر التالت فالكود الي عملناه مكتوب فيه newNode-> next = NULL;
فالبتالي مفيش داعي نكتب نفس الكود تاني في النهاية
😍🥰
لم عملنا المؤشر المساعد وقنالو يساوي الهد هل النكست المؤشر المساعديؤشر على ال هيد ولاالموشر المساعد نفسو يؤشر على هيد وفي حال انو المؤشر المساعد يؤشر على الهيد ماهي قيمة النيكست المؤشر المساعد
المؤشر المساعد بيساوي الهيد
واحنا عارفين ان الهيد بتشاور على اول عنصر فالسلسلة ولنفترض اول عنصر مكانه 200 فالذاكرة, فقيمة الهيد تساوي 200 حاليا
المؤشر المساعد قيمة بتساوي 200 يعني بشاور على اول عنصر فالسلسه برضو
السلام أخي . ارجو انو تتم الدورة
وعليكم السلام , ان شاء الله بكملها قريب , لاني مشغول حاليا
Hard-Code معليش ربي يعينك ان شاء الله لكن لا تنسانا :)
💙💛
لو ابى اضيف اكثر من نود في الاخير ... كيف ممكن اسويها
اكتر من node بمعنى انك هتبعتي للفنكشن array of integers ؟ والarray كلها تنضاف فال linked list ولا تقصدي شي تاني ؟
ياريت تنزل الكود بتاع كل فيديو
struct Node {
Node* next; int data;
Node* Head = NULL;
void Appand(int value)
{
Node* newnode = new Node;
newnode->data = value;
newnode->next = NULL;
if (Head == NULL)
{
Head = newnode;
}
else {
//Node* temp = Head;
while (Head->next != NULL)
{
Head = Head->next;
}
Head ->next = newnode;
}
}
void display()
{
while (Head != NULL)
{
cout data next;
}
cout
الخطأ الاساسي والاكبر عندك انك بتحرك الـ head نفسها لما تعمل append و عند عرض العناصر
المفروض ال head بيفضل مكانه وبيأشر على اول عنصر دايما فال linked list
لأنك لو حركته العناصر الي كانت فالاول ضاعت منك خلاص ومش هتقدر توصلها
الخطأ التاني ان المفروض ال node عندك يكون فيها data , *next فقط وليس كل الكلاس