Skip to content

Commit 282050c

Browse files
committed
pro1 max visitor solved
1 parent 95dbca4 commit 282050c

File tree

2 files changed

+32
-7
lines changed

2 files changed

+32
-7
lines changed

unit4/.pro1.py.swp

12 KB
Binary file not shown.

unit4/pro1.py

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,31 @@
88

99
from opus7.orderedListAsArray import OrderedListAsArray
1010
from opus7.visitor import Visitor
11+
from random import random
1112

1213
def pro1():
13-
order_list = OrderedListAsArray(10)
14+
order_list = RandomList(10)
15+
order_list.generate()
16+
print order_list
1417
m_visitor = MinimumVisitor()
15-
order_list.insert(42)
16-
order_list.insert(21)
17-
order_list.insert(41)
18-
order_list.insert(13)
19-
order_list.insert(94)
20-
order_list.insert(34)
18+
max_visitor = MaxVisitor()
2119
order_list.accept(m_visitor)
2220
m_visitor.current()
21+
order_list.accept(max_visitor)
22+
max_visitor.current()
2323

24+
# subclass of OrderedListAsArray, has the method to randomly generate elements
25+
class RandomList(OrderedListAsArray):
26+
27+
# based on the length of array, randomly generate, <100
28+
def generate(self):
29+
self.purge()
30+
size = len(self._array)
31+
for i in range(size):
32+
value = int(random() * 100)
33+
self.insert(value)
34+
35+
# visitor to find minimum element
2436
class MinimumVisitor(Visitor):
2537

2638
def __init__(self):
@@ -34,4 +46,17 @@ def current(self):
3446
print "current minimum value is:", self.minimum
3547

3648

49+
# visitor to find minimum element
50+
class MaxVisitor(Visitor):
51+
52+
def __init__(self):
53+
self.maximum = -9999999999
54+
55+
def visit(self, obj):
56+
if obj > self.maximum:
57+
self.maximum = obj
58+
59+
def current(self):
60+
print "current maximum value is:", self.maximum
61+
3762
pro1()

0 commit comments

Comments
 (0)