#利用嵌套for循环 完成冒泡排序
#拓展:冒泡算法是什么?
L=[4,9,10,5,111,3,244]
答案:
for i in range(0,len(L)-1):
for j in (i,len(L)-2):
if L[j]>L[j+1]:
L[j],L[j+1]=L[j+1],L[j]
print(L)
#利用嵌套for循环 完成冒泡排序
#拓展:冒泡算法是什么?
L=[4,9,10,5,111,3,244]
答案:
for i in range(0,len(L)-1):
for j in (i,len(L)-2):
if L[j]>L[j+1]:
L[j],L[j+1]=L[j+1],L[j]
print(L)
public static int[] maopao(int[] shuzu) {
for (int i = 0; i < shuzu.length; i++) {
for (int j = 0; j < shuzu.length - 1; j++) {
if (shuzu[j] > shuzu[j + 1]) {
int temp = shuzu[j];
shuzu[j] = shuzu[j + 1];
shuzu[j + 1] = temp;
}
}
}
return shuzu;
}
更优解用冒泡算法怎么做不知道,用列表推导式搭配min函数可以做出来,应该跑题了
new_L = [L.pop(L.index(min(L))) for x in range(len(L))]
print(new_L)
实现效果:
华华大佬,示例代码是不是有问题?
修改后如下:
def bubble_sort(arr):
for i in range(1, len(arr)): #
for j in range(len(arr) - i):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
# print(arr)
return arr
bubble_sort(L)
欢迎来到testingpai.com!
注册 关于