def main(): list1 = [] num = input("\t欢迎使用排序演示程序\n" + "请输入你想要产生的随机数个数:") for i in range(int(num)): list1.append(int(random.random() * 100)) length = len(list1) print("\n=========排序方法选择==========\n" + "1.插入排序 2.折半插入排序\n" + "3.希尔排序 4.冒泡排序 \n" + "5.快速排序 6.直接选择排序\n" + "7.堆排序 8.基数排序 \n") fun = input("请输入你想要使用的排序函数:") if int(fun) < 1 or int(fun) > 8: print("没有这个排序函数,请重新选择") time.sleep(3) os.system("clear") main() elif fun == '1': st.insertSort(list1, length) elif fun == '2': st.binaryInsertSort(list1, length) elif fun == '3': st.shellSort(list1, length) elif fun == '4': st.bubbleSort(list1, length) elif fun == '5': st.quickSort(list1, 0, length - 1) elif fun == '6': st.directSelectSort(list1, length) elif fun == '7': st.heapSort(list1, length) elif fun == '8': st.radixSort(list1) print("\n---------------------------分割线--------------------------\n") main()
def shellSortTime(): SETUP_CODE = ''' import sort import random testList = [] for i in range(50000): testList.append(random.randint(0,1000))''' TEST_CODE = ''' sort.shellSort(testList)''' times = timeit.repeat(setup=SETUP_CODE, stmt=TEST_CODE, repeat=1, number=1) print('shellSortTime: {}'.format(min(times)))
print('2 - Scan Array') print('3 - Selection Sort') print('4 - Insertion Sort') print('5 - Bubble Sort') print('6 - Shell Sort') print('7 - Quick Sort') print('0 - Exit') print('==================') def scanArray(): for i in range(length): array[i] = int(input('Enter the value [' + str(i) + ']: ')) return array op = 1 while op: printMenu() op = int(input('Choose an option: ')) if op == 0: print('You chose to leave') elif op == 1: print(array) elif op == 2: print(scanArray()) elif op == 3: print(sort.selectionSort(array)) elif op == 4: print(sort.insertionSort(array)) elif op == 5: print(sort.bubbleSort(array)) elif op == 6: print(sort.shellSort(array)) elif op == 7: print(sort.quickSort(array, 0, length - 1)) else: print('Please choose a valid option')
import random, time from sort import shellSort mylist = [54,26,93,17,77,31,44,55,20] shellSort( mylist ) print( mylist )
end_time = timer() quicktime = (end_time - start_time) print('------------------------------------\n') print('Tempo = %f sec\n' % quicktime) random.shuffle(data) start_time = timer() print('------------------------------------\n') print('\tshell sort\t') print('------------------------------------\n') print('Antes de ordenado: ') print(data) print('------------------------------------\n') print('Depois de ordenado: ') s = shellSort(data) print(s) end_time = timer() shelltime = (end_time - start_time) print('------------------------------------\n') print('Tempo = %f sec\n' % shelltime) random.shuffle(data) start_time = timer() b = bucketSort(data) print('------------------------------------\n') print('\tBucket sort\t') print('------------------------------------\n') print('Antes de ordenado: ') print(data)
for i in range(int(sys.argv[2])): testList.append(random.randint(0, 10000)) print(testList, "\n") sort.quickSort(testList) print(testList) else: testList = [] for i in range(int(sys.argv[2])): testList.append(random.randint(0, 10000)) sort.quickSort(testList) print("LIST SORTED") elif sys.argv[1] == "ShellSort": if len(sys.argv) > 3: if sys.argv[3] == "PRINT": testList = [] for i in range(int(sys.argv[2])): testList.append(random.randint(0, 10000)) print(testList, "\n") sort.shellSort(testList) print(testList) else: testList = [] for i in range(int(sys.argv[2])): testList.append(random.randint(0, 10000)) sort.shellSort(testList) print("LIST SORTED") else: print("\n" + "Please retype with the correct order or notation shown in the file")