python:在函数之后,数组不会改变

时间:2015-01-18 05:58:36

标签: python

我想在数组中找到K个最小元素:

def partition(A):
    pivotIndex = len(A)-1
    storeIndex = 0
    for i in xrange(len(A)):
        if A[i] < A[pivotIndex]:
            A[i], A[storeIndex] = A[storeIndex], A[i]
            storeIndex += 1
    A[storeIndex], A[pivotIndex] = A[pivotIndex], A[storeIndex]
    print A
    return storeIndex

def findminiK(array, k):
    mini = 0
    while mini < k:
        if mini < k-1 :
            print array, "---"
            mini = partition(array[mini:])
            print array, "++"
        elif mini == k-1:
            return array[:k]
        else :
            mini = partition(array[:mini])
    return array[k]

在我的opinoin中,分区后,数组会发生变化。

e.g:
原始数组是[3,4,7,5,9,9,6]
分区后,数组将变为[3,4,5,6,7,9,8]
但我发现阵列没有变化 谁可以给我一些建议?

0 个答案:

没有答案