diff --git a/algs4/quick.py b/algs4/quick.py index 32b684d..c61da41 100644 --- a/algs4/quick.py +++ b/algs4/quick.py @@ -60,6 +60,13 @@ def quicksort(cls, arr, lo, hi): def sort(cls, arr): return cls.quicksort(arr, 0, len(arr) - 1) + @classmethod + def is_sorted(cls, arr): + for i in range(1, len(arr)): + if arr[i] < arr[i-1]: + return False + return True + if __name__ == '__main__': import sys @@ -69,3 +76,4 @@ def sort(cls, arr): items.extend(line.split()) print(' items: ', items) print('sort items: ', Quick.sort(items)) + assert Quick.is_sorted(items) diff --git a/algs4/quick_3way.py b/algs4/quick_3way.py index 61ac9ba..fefd412 100644 --- a/algs4/quick_3way.py +++ b/algs4/quick_3way.py @@ -51,6 +51,13 @@ def quicksort(cls, arr, lo, hi): def sort(cls, arr): return cls.quicksort(arr, 0, len(arr) - 1) + @classmethod + def is_sorted(cls, arr): + for i in range(1, len(arr)): + if arr[i] < arr[i-1]: + return False + return True + if __name__ == '__main__': import sys @@ -60,3 +67,4 @@ def sort(cls, arr): items.extend(line.split()) print(' items: ', items) print('sort items: ', Quick3Way.sort(items)) + assert Quick3Way.is_sorted(items)