-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLinkedList.h
55 lines (54 loc) · 1.13 KB
/
LinkedList.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <string>
#include <cstdio>
#include "Node.h"
#ifndef DEF_LINKEDLIST
#define DEF_LINKEDLIST
using namespace std;
class LinkedList{
public:
// thuoc tinh
Node *head;
Node *tail;
// phuong thuc
LinkedList(); // Ham khoi tao danh sach lien ket
virtual ~LinkedList(); // Ham huy danh sach
LinkedList &operator += (Word &w); // Ham them tu vung vao cuoi
void Nodeupdate(Word word); // Ham cap nhat sua tu vung
};
LinkedList::LinkedList(){
this->head = NULL;
this->tail = NULL;
}
LinkedList::~LinkedList(){
Node* head = this->head;
while (head)
{
Node* temp = head;
head = head->next;
delete temp;
temp = NULL;
}
};
LinkedList &LinkedList::operator += (Word &w){
Node *node= new Node(w);
if (this->head == NULL)
{
this->head = node;
this->tail = node;
}
else
{
this->tail->next = node;
this->tail = node;
}
return *this;
}
void LinkedList::Nodeupdate(Word word){
Node *node = this->head;
while (node != NULL && node->key != word.getWord())
node = node->next;
if (node != NULL)
node->data = word;
};
#endif