السلآم عليكم ورحمه الله و بركآته
اولاً .. اشكر كل القآئمين على هذآ المنتدى الرائع ..
يعطيكم الف عآفيه و الله يجعله في ميزآن حسنآتكم ان شاء الله ..
ندخل في موضوعي ![]()
الدكتور طلب مني اسوي فنكشن اسمهآ DeleteBefore
وظيفه هآذي الفنكشن انها تمسح لي النود اللي قبل النود اللي انا اعطيها اياه
يعني اذا كآنت القيم اللي عندي 6<-4<-2-<
وانا قلت له ابي امسح الرقم اللي قبل 4
يطلع لي
6<-4<-
مع العلم انا ما اخذت الـ search function
لان في وحده قالت لي اسويه فيهآ
المهم هذآ الكود اللي انا سويته بس في شي غلط و عجزت اعرفه ![]()
مو طآلع عندي اخطآء بس الفنكشن ما تسوي وظيفتها صح !!!
#include <iostream>
using namespace std;
class Node
{
public:
int value;
Node * next;
Node ();
Node(int v);
};
Node::Node()
{
value=0;
next= NULL;
}
Node::Node(int v)
{
value=v;
next= NULL;
}
void Print (Node *h)
{ if(!h)
cout<<"empty"<<endl;
while (h)
{
cout<<h->value<<"->";
h=h->next;
}
}
void DeleteBefore (Node* h, int v)
{
if (h)
{
if (h->value !=v)
{
if (h->next)
{
Node *n=h;
Node *tmp=h->next;
if (tmp->value !=v)
{
while (tmp->next)
{
if (tmp->next->value==v)
{
n=tmp->next;
delete tmp;
}
else
{
tmp=tmp->next;
n->next=tmp;
}
}
}
else
{
h=h->next;
delete n;
}
}
else {cout<<"There is no more Nodes !!"<<endl;}
}else
{cout<<"There is no Node befor to delete !!"<<endl;}
}
else {cout<<"list is empty !!"<<endl;}
}
int main()
{
Node * head;
head= new Node(2);
Node * n;
n= new Node(4);
Node * m;
m= new Node (6);
head->next=n;
n->next= m;
Print(head);
cout<<"Delete the value before 6"<<endl;
DeleteBefore (head, 6);
Print (head);
return 0;
}*احتآجه بكرا ضروري ![]()
وشكراً مقدماً ![]()
