排序的本质是什么 冒泡排序 bubble sort

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;
}

  

原文地址:https://www.cnblogs.com/rsapaper/p/10283391.html