import random
def getRandomNums(min=4, max=20):
n = random.randint(min, max)
arr = [random.randint(1, n) for _ in range(n)]
return arr
def bubble_sort(arr):
'''
排序的本质是什么?
找出谁大谁小。
先后找出最大的、次最大的、次次最大的、、、、、、
元素个数:n
找的次数:times
每次的两两比较的比较对象元组:第1个元素和第2个元素(1,2),(1,2),...,(n-times-1,n-times)
:param arr:
:return:
'''
n = len(arr)
# python range() [)左闭右开
for times in range(1, n, 1):
for ii in range(0, n - times, 1):
left, right = arr[ii], arr[ii + 1]
if left > right:
arr[ii + 1], arr[ii] = left, right
return arr
[4,5,-6,6] 正数放左边,负数右边
#include <stdio.h> int main() { int arr[] = {7}; int len = sizeof(arr) / sizeof(int); int pl[len]; int i; int lt = 0; int rt = len - 1; for (i = 0; i < len; i++) { int tmp = arr[i]; if (tmp > 0) { pl[lt] = tmp; lt += 1; } else { pl[rt] = tmp; rt -= 1; } } return 0; }