From b7eae6b0e37c0b44889657688a530f307c8cd2f5 Mon Sep 17 00:00:00 2001 From: Tony Sappe Date: Fri, 29 Jul 2016 15:14:30 -0400 Subject: [PATCH] Changed BubbleSort.py and InsertionSort.py to allow x number of inputs. Also worked on LinearSearch.py --- BubbleSort.py | 17 +++++++++-------- InsertionSort.py | 20 +++++++++++--------- LinearSearch.py | 43 +++++++++++++++++++++++-------------------- README.md | 1 + 4 files changed, 44 insertions(+), 37 deletions(-) diff --git a/BubbleSort.py b/BubbleSort.py index 513f788e0..0740c066b 100644 --- a/BubbleSort.py +++ b/BubbleSort.py @@ -12,13 +12,15 @@ def simple_bubble_sort(int_list): return int_list -def main(num): - inputs = [] - print("Enter any {} numbers for unsorted list: ".format(num)) +def main(): try: - for i in range(num): - n = input() - inputs.append(n) + print("Enter numbers separated by spaces:") + s = raw_input() + inputs = list(map(int, s.split(' '))) + if len(inputs) < 2: + print('No Enough values to sort!') + raise Exception + except Exception as e: print(e) else: @@ -27,5 +29,4 @@ def main(num): if __name__ == '__main__': print('==== Bubble Sort ====\n') - list_count = 6 - main(list_count) + main() diff --git a/InsertionSort.py b/InsertionSort.py index 679d06756..5602b2967 100644 --- a/InsertionSort.py +++ b/InsertionSort.py @@ -1,6 +1,7 @@ def simple_insertion_sort(int_list): - for i in range(1, 6): + count = len(int_list) + for i in range(1, count): temp = int_list[i] j = i - 1 while(j >= 0 and temp < int_list[j]): @@ -11,13 +12,15 @@ def simple_insertion_sort(int_list): return int_list -def main(num): - inputs = [] - print('Enter any {} numbers for unsorted list: '.format(num)) +def main(): try: - for i in range(num): - n = input() - inputs.append(n) + print("Enter numbers separated by spaces:") + s = raw_input() + inputs = list(map(int, s.split(' '))) + if len(inputs) < 2: + print('No Enough values to sort!') + raise Exception + except Exception as e: print(e) else: @@ -26,5 +29,4 @@ def main(num): if __name__ == '__main__': print('==== Insertion Sort ====\n') - list_count = 6 - main(list_count) + main() diff --git a/LinearSearch.py b/LinearSearch.py index 6180eac5a..cdff26b78 100644 --- a/LinearSearch.py +++ b/LinearSearch.py @@ -1,21 +1,24 @@ -def sequentialSearch(alist, item): - pos = 0 - found = False - - while pos < len(alist) and not found: - - if alist[pos] == item: - found = True - print("Found") - else: - pos = pos+1 - if found == False: - print("Not found") - return found - -print("Enter numbers seprated by space") -s = input() -numbers = list(map(int, s.split())) -trgt =int( input('enter a single number to be found in the list ')) -sequentialSearch(numbers, trgt) +def sequential_search(alist, target): + for index, item in enumerate(alist): + if item == target: + print("Found target {} at index {}".format(target, index)) + break + else: + print("Not found") + + +def main(): + try: + print("Enter numbers separated by spaces") + s = raw_input() + inputs = list(map(int, s.split(' '))) + target = int(raw_input('\nEnter a single number to be found in the list: ')) + except Exception as e: + print(e) + else: + sequential_search(inputs, target) + +if __name__ == '__main__': + print('==== Insertion Sort ====\n') + main() diff --git a/README.md b/README.md index de55ae89a..d88c5c675 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ ### **All Algorithms implemented in Python!** +These are for demonstration purposes only. There are many implementations of sorts in the Python standard library that are much better for performance reasons. ## Sorting