In Python Generate a file that has 5000 random numbers in it
In Python:
Generate a file that has 5000 random numbers in it. (provide the code)
Using that file Do the following:
Create 3 programs that:
Implement the Bubble Sort
Implement the Insertion Sort
Implement the Selection Sort
Solution
def create_random():
   import random
    f = open(\'numbers.txt\',\'w\')
    N = 5000
   for i in xrange(N):  
        write = str(random.randint(0, 100000)) + \'\ \'
        f.write(write)
f.close() # you can omit in most cases as the destructor will call it
def bubble_sort(arr):
for i in range(len(arr)):
 # Last i elements are already in place
 for j in range(0, len(arr)-i-1):
 # traverse the array from 0 to n-i-1
 # Swap if the element found is greater
 # than the next element
 if arr[j] > arr[j+1] :
 arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
 # Function to do insertion sort
 def insertion_sort(arr):
for i in range(1, len(arr)):
 
 key = arr[i]
 # Move elements of arr[0..i-1], that are
 # greater than key, to one position ahead
 # of their current position
 j = i-1
 while j >=0 and key < arr[j] :
 arr[j+1] = arr[j]
 j -= 1
 arr[j+1] = key
 return arr
 def selection_sort(arr):
   
    for i in range(len(arr)):   
    # Find the minimum element in remaining , unsorted array
    min_idx = i
    for j in range(i+1, len(arr)):
    if arr[min_idx] > arr[j]:
    min_idx = j     
    # Swap the found minimum element with
    # the first element
    arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr
 create_random()
 with open(\"numbers.txt\", \"r\") as ins:
 array = []
 for line in ins:
 array.append(int(line))
print bubble_sort(array[:10])
 print insertion_sort(array[:10])
 print selection_sort(array[:10])


