从键盘接收若干个整数(直接输入回车表示结束),用冒泡法或选择法进行排序(从小到大),并将排序结果在屏幕上输出。同时估计算法的复杂度。
def bubble(List): num=len(List) for i in range(0,num-1): for j in range(i+1,num): if List[i]>List[j]: List[i],List[j]=List[j],List[i] return List L1=[] num_str=input('请输入一个需排序的整数:') while len(num_str) != 0: L1.append(int(num_str)) num_str=input('请输入一个需排序的整数:') print('排序后结果:', bubble(L1))
或
冒泡排序:
def bubble(List): for i in range(0,len(List)-1): for j in range(len(List)-1,i,-1): if List[j-1]>List[j]: List[j-1],List[j]=List[j],List[j-1] return List L1=[] num_str=input('请输入一个需排序的整数:') while len(num_str) != 0: L1.append(int(num_str)) num_str=input('请输入一个需排序的整数:') print('排序后结果:', bubble(L1))
上述两个程序算法的时间复杂度均为O(n 2 ).