aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/algorithms/input_kind.py
diff options
context:
space:
mode:
Diffstat (limited to 'algorithms/input_kind.py')
-rw-r--r--algorithms/input_kind.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/algorithms/input_kind.py b/algorithms/input_kind.py
index 998f1d6..08e1c9e 100644
--- a/algorithms/input_kind.py
+++ b/algorithms/input_kind.py
@@ -7,25 +7,28 @@ from array import array
from enum import Enum
from random import seed, sample
+
seed()
+
class InputKind(Enum):
BEST, AVERAGE, WORST = 'best', 'average', 'worst'
def __str__(self):
return self.value
+
def _gen_input_from(xs):
return array('l', xs)
+
def gen_input_for_sorting(n, case=InputKind.AVERAGE):
if n < 0:
raise ValueError('input length cannot be less than zero')
if case is InputKind.BEST:
return _gen_input_from(range(n))
- elif case is InputKind.AVERAGE:
+ if case is InputKind.AVERAGE:
return _gen_input_from(sample(range(n), n))
- elif case is InputKind.WORST:
+ if case is InputKind.WORST:
return _gen_input_from(range(n - 1, -1, -1))
- else:
- raise NotImplementedError('invalid input kind: ' + str(case))
+ raise NotImplementedError('invalid input kind: ' + str(case))