File tree Expand file tree Collapse file tree 2 files changed +32
-7
lines changed Expand file tree Collapse file tree 2 files changed +32
-7
lines changed Original file line number Diff line number Diff line change 8
8
9
9
from opus7 .orderedListAsArray import OrderedListAsArray
10
10
from opus7 .visitor import Visitor
11
+ from random import random
11
12
12
13
def pro1 ():
13
- order_list = OrderedListAsArray (10 )
14
+ order_list = RandomList (10 )
15
+ order_list .generate ()
16
+ print order_list
14
17
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 ()
21
19
order_list .accept (m_visitor )
22
20
m_visitor .current ()
21
+ order_list .accept (max_visitor )
22
+ max_visitor .current ()
23
23
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
24
36
class MinimumVisitor (Visitor ):
25
37
26
38
def __init__ (self ):
@@ -34,4 +46,17 @@ def current(self):
34
46
print "current minimum value is:" , self .minimum
35
47
36
48
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
+
37
62
pro1 ()
You can’t perform that action at this time.
0 commit comments