cursor自动生成代码使用

文章提供了多种排序算法的Python实现,包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序和壳排序。此外,还提到了计数排序,但未给出完整实现。这些算法是数据结构和算法学习中的基础部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、cursor地址

       Cursor | Build Fast

2、cursor

输入cmd+k,在输入框里面键入想要实现的功能

3、实例

排序算法

# 冒泡排序
def bubbleSort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1] :
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr

# 选择排序
def selectionSort(arr):
    n = len(arr)
    for i in range(n):
        min_idx = i
        for j in range(i+1, n):
            if arr[min_idx] > arr[j]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr

# 插入排序
def insertionSort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        j = i-1
        while j >=0 and key < arr[j] :
                arr[j+1] = arr[j]
                j -= 1
        arr[j+1] = key
    return arr

# 快速排序
def quickSort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        left = []
        right = []
        for i in arr[1:]:
            if i < pivot:
                left.append(i)
            else:
                right.append(i)
        return quickSort(left) + [pivot] + quickSort(right)

# 归并排序
def mergeSort(arr):
    if len(arr) > 1:
        mid = len(arr)//2
        L = arr[:mid]
        R = arr[mid:]
        mergeSort(L)
        mergeSort(R)
        i = j = k = 0
        while i < len(L) and j < len(R):
            if L[i] < R[j]:
                arr[k] = L[i]
                i += 1
            else:
                arr[k] = R[j]
                j += 1
            k += 1
        while i < len(L):
            arr[k] = L[i]
            i += 1
            k += 1
        while j < len(R):
            arr[k] = R[j]
            j += 1
            k += 1
    return arr

def heapify(arr, n, i):
    largest = i
    l = 2 * i + 1
    r = 2 * i + 2
    if l < n and arr[i] < arr[l]:
        largest = l
    if r < n and arr[largest] < arr[r]:
        largest = r
    if largest != i:
        arr[i], arr[largest] = arr[largest], arr[i]
        heapify(arr, n, largest)

def heapSort(arr):
    n = len(arr)
    for i in range(n // 2 - 1, -1, -1):
        heapify(arr, n, i)
    for i in range(n - 1, 0, -1):
        arr[i], arr[0] = arr[0], arr[i]
        heapify(arr, i, 0)
    return arr
    
def shellSort(arr):
    n = len(arr)
    gap = n // 2
    while gap > 0:
        for i in range(gap, n):
            temp = arr[i]
            j = i
            while j >= gap and arr[j - gap] > temp:
                arr[j] = arr[j - gap]
                j -= gap
            arr[j] = temp
        gap //= 2
    return arr
    
def countingSort(arr):
    max_val = max(arr)
    m = max_val + 1
    count = [0] * m                
    for a in arr:
        count[a] += 1             
    i = 0
    for a in range(m):            
        for c in range(count[a]): 
            arr[i] = a
            i += 1
    return arr
    
# def bucketSort(arr):
#     bucket = []
#     for i in range(len(arr)):
#         bucket.append([])
#     for j in arr:
#         index_b = int(10 * j)
#         bucket[index_b].append(j)
#     for i in range(len(arr)):
#         bucket[i] = insertionSort(bucket[i])
#     k = 0
#     for i in range(len(arr)):
#         for j in range(len(bucket[i])):
#             arr[k] = bucket[i][j]
#             k += 1
#     return arr

arr=[1,3,5,7,9,2,4,6,8,0]
# print(bubbleSort(arr))
# print(selectionSort(arr))
# print(insertionSort(arr))
# print(quickSort(arr))
# print(mergeSort(arr))
# print(heapSort(arr))
# print(shellSort(arr))
# print(countingSort(arr))
print(bucketSort(arr))



            

除了桶排序,其他排序实现真实有效

排序算法总结见链接:排序算法python实现汇总_frostjsy的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值