ผลต่างระหว่างรุ่นของ "Adt lab/linked lists"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 78: | แถว 78: | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | == Copy constructor == | ||
== Iterators == | == Iterators == |
รุ่นแก้ไขเมื่อ 15:59, 1 ตุลาคม 2558
- This is part of adt lab
List nodes
typedef
In C++, you can simply declare a new type based on known types using typedef.
typedef int valueType;
valueType x = 10;
We will declare new valueType so that our linked list code works fairly well with any types. We will eventually use template to make generic linked list.
struct
struct ListNode
{
valueType val;
ListNode* next;
ListNode(valueType val, ListNode* next=0)
: val(val), next(next) {}
};
Linked list class
typedef int valueType;
struct ListNode
{
valueType val;
ListNode* next;
ListNode(valueType val, ListNode* next=0)
: val(val), next(next) {}
};
class LinkedList
{
private:
ListNode* header;
void free_list();
public:
LinkedList();
~LinkedList();
void print_list();
void insert_front(valueType x);
};
LinkedList::LinkedList()
{
header = new ListNode(0);
}
LinkedList::~LinkedList()
{
free_list();
}
void LinkedList::print_list()
{
ListNode* node = header->next;
while(node != 0) {
cout << node->val << endl;
node = node->next;
}
}
void LinkedList::insert_front(valueType x)
{
}
void LinkedList::free_list()
{
}