רשימה מקושרת בC++
יצרתי רשימה מקושרת בסיסית בC++.
הרשימה מורכבת ממחלקת List שמייצגת את הרשימה כולה, ומחלקת Node שמייצגת צומת ברשימה.
למחלקת List יש 2 פונקציות, print_list, add_node.
בתוך הmain יצרתי רשימה והוספתי לה מספר צמתים. כאשר אני מנסה להדפיס את הרשימה, התוכנית קורסת.
צירפתי את הקוד.
class Node
{
private:
int number;
public:
Node* next;
void set_number(int number)
{
this->number=number;
}
int get_number()
{
return number;
}
};
class List
{
public:
Node *head;
List(){head=NULL;}
void add_node(int number)
{
Node node;
node.set_number(number);
node.next=NULL;
if (head==NULL)
head=&node;
else
{
Node* temp=head;
for(;temp->next!=NULL;temp=temp->next){}
temp->next=&node;
}
}
void print_list()
{
if (head!=NULL)
{
Node* temp=head;
for(;temp!=NULL
{
cout<<" "<<temp->get_number();
temp=temp->next;
}
}
}
};
void main()
{
List list;
list.add_node(8);
list.add_node(7);
list.add_node(6);
list.add_node(5);
list.print_list();
}
יצרתי רשימה מקושרת בסיסית בC++.
הרשימה מורכבת ממחלקת List שמייצגת את הרשימה כולה, ומחלקת Node שמייצגת צומת ברשימה.
למחלקת List יש 2 פונקציות, print_list, add_node.
בתוך הmain יצרתי רשימה והוספתי לה מספר צמתים. כאשר אני מנסה להדפיס את הרשימה, התוכנית קורסת.
צירפתי את הקוד.
class Node
{
private:
int number;
public:
Node* next;
void set_number(int number)
{
this->number=number;
}
int get_number()
{
return number;
}
};
class List
{
public:
Node *head;
List(){head=NULL;}
void add_node(int number)
{
Node node;
node.set_number(number);
node.next=NULL;
if (head==NULL)
head=&node;
else
{
Node* temp=head;
for(;temp->next!=NULL;temp=temp->next){}
temp->next=&node;
}
}
void print_list()
{
if (head!=NULL)
{
Node* temp=head;
for(;temp!=NULL
{
cout<<" "<<temp->get_number();
temp=temp->next;
}
}
}
};
void main()
{
List list;
list.add_node(8);
list.add_node(7);
list.add_node(6);
list.add_node(5);
list.print_list();
}