forked from ASD-ADF/ASD_Task_4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
list.h
77 lines (57 loc) · 1.49 KB
/
list.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED
#include <string>
#include <windows.h>
#include <iostream>
#define First(L) L.first
#define Last(L) L.last
#define Next(P) P->next
#define Prev(P) P->prev
#define Info(P) P->info
using namespace std;
struct music
{
int ID;
string name;
string location;
};
typedef music infotype;
typedef struct elmlist *address;
/**
* IMPLEMENT CIRCULAR DOUBLE LINKED LIST
*/
struct elmlist{
//------------- your code here -----------
infotype info;
address next;
address prev;
//----------------------------------------
};
struct List{
//------------- your code here -----------
address first;
address last;
//----------------------------------------
};
void createList(List &);
void createList(List &L);
address alokasi(infotype );
void dealokasi(address &);
address alokasi(infotype x);
void dealokasi(address &P);
void insertFirst(List &, address );
void insertLast(List &, address );
void insertAfter(address , address);
void insertFirst(List &L, address P);
void insertLast(List &L, address P);
void insertAfter(List &L, address Prec, address P);
void deleteFirst(List &, address &);
void deleteLast(List &, address &);
void deleteAfter(address, address &);
address findElm(List, infotype );
void deleteFirst(List &L, address &P);
void deleteLast(List &L, address &P);
void deleteAfter(List &L, address Prec, address &P);
address findElm(List L, infotype x);
int countElm(List L);
#endif // LIST_H_INCLUDED