# simple sorting algorithm
def bubble_sort(sort_list):
''' (list) -> None
Sort sort_list.
'''
iter_len = len(sort_list)
flag = True
# i is from 0 to iter_len - 2
for i in range(iter_len - 1):
if flag:
flag = False
for j in range(iter_len - 2, i - 1, -1):
if sort_list[j] > sort_list[j + 1]:
sort_list[j], sort_list[j + 1] = sort_list[j + 1], sort_list[j]
flag = True
def select_sort(sort_list):
''' (list) -> None
Sort sort_list.
'''
iter_len = len(sort_list)
for i in range(iter_len - 1):
min = i
for j in range(i + 1, iter_len):
if sort_list[min] > sort_list[j]:
min = j
if i != min:
sort_list[i], sort_list[min] = sort_list[min], sort_list[i]
def insert_sort(sort_list):
''' (list) -> None
Sort sort_list.
'''
iter_len = len(sort_list)
for i in range(1, iter_len):
if sort_list[i] < sort_list[i - 1]:
sentry = sort_list[i]
j = i - 1
while j > -1 and sort_list[j] > sentry:
sort_list[j + 1] = sort_list[j]
j -= 1
sort_list[j + 1] = sentry
# read 'random_num.txt' from disk
import tkinter.filedialog
sort_filename = tkinter.filedialog.askopenfilename()
sort_file = open(sort_filename, 'r')
contents = sort_file.read()
sort_file.close()
sort_list = contents.split(' ')
for i in range(len(sort_list) - 1):
sort_list[i] = int(sort_list[i])
sort_list.pop()
# using the sorting algorithm
select_sort(sort_list)
# write sorted file to disk.
to_filename = tkinter.filedialog.asksaveasfilename()
sorted_file = open(to_filename, 'w')
for num in sort_list:
sorted_file.write(str(num) + ' ')
sorted_file.close()
转载于:https://my.oschina.net/seandor/blog/93947