[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Shanu899/pythonprogram/master/QuickSelect.py [Back]  [Original]

def quickselect(array,startind,endind,position):  
    while True:
        pivotind = startind
        leftmark = startind + 1
        rightmark = endind
        while leftmark  array[pivotind] and array[rightmark] < array[pivotind]:
                swap(leftmark,rightmark,array)
            if array[leftmark] = array[pivotind]:
                rightmark -=1
        swap(pivotind, rightmark,array)
        if rightmark == position:
            print(array[rightmark])
            return
        elif rightmark < position :
            startind = rightmark+1
        else :
            endind = rightmark - 1
            
def swap(one,two,array):
    array[one],array[two]=array[two],array[one]
    
for _ in range(int(input())):
    n = int(input())
    arr = list(map(int,input().split()))
    k = int(input())
    quickselect(arr,0,n-1,k-1)

Web Proxy Viewer  |  New URL  |  Original Page