generated from CSUEB-CS301/UnsortedList-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUnsortedList.cpp
More file actions
81 lines (67 loc) · 1.39 KB
/
UnsortedList.cpp
File metadata and controls
81 lines (67 loc) · 1.39 KB
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
78
79
80
#include "UnsortedList.h"
template<class T>
UnsortedList<T>::UnsortedList() {
length = 0;
currentPos = 0;
}
template<class T>
void UnsortedList<T>::MakeEmpty() {
length = 0;
}
template<class T>
bool UnsortedList<T>::IsFull() const {
return length == MAX_ITEMS;
}
template<class T>
int UnsortedList<T>::GetLength() const {
return length;
}
template<class T>
bool UnsortedList<T>::Contains(T someItem) {
for (int i = 0; i < length; i++) {
if (info[i] == someItem) {
return true;
}
}
return false;
}
template<class T>
void UnsortedList<T>::PutItem(T item) {
if (length >= MAX_ITEMS)
return;
info[length++] = item;
}
template<class T>
void UnsortedList<T>::DeleteItem(T item) {
// find the item
for (int i = 0; i < length; i++) {
if (info[i] == item) {
info[i] = info[length - 1];
length--;
return;
}
}
/* BAAAAAD */
// find the item
// int i;
// for (i = 0; i < length; i++) {
// if (info[i] == item) {
// break;
// }
// }
//
// info[i] = info[length - 1];
// length--;
}
template<class T>
void UnsortedList<T>::ResetIterator() {
currentPos = -1;
}
template<class T>
T UnsortedList<T>::GetNextItem() {
if (currentPos >= length){
throw "Out of bounds";
}
currentPos++;
return info[currentPos];
}