模仿partion方法,當high=low小於k的時候,在後半部分搜尋,當hwww.cppcns.comigh=low大於k的時候,在前半部分搜尋。與快排不同的是,每次都減少了一半的排序。
def partitionofk(numbers, start, end, k):
if k < 0 or numbers == or start < 0 or end >= len(numbers) or k > end:
return none
low = start
high = end
key = numbers[start]
while low < high:
while low < high and numbers[high] >= key:
high -= 1
numbers[low] = numbers[high]
while low < high and numbers[low] <= key:
low += 1
numbers[high] = numbers[low]
numbers[low] = key
if low < k:
return partitionofk(numbers, start + 1, end, k)
elif low > k:
return partitionofk(numbers, start, end - 1, k)
else:
return numbers[low]
num程式設計客棧bers = [3,5,6,7,2,-1,9,3]
print(sorted(numbers))
print(partitionofk(numbers, 0, len(numbers) - 1, 5))
輸出:返回了第五大排序的數字
[-1, 2, 3, 3, 5, 6, 7, 9]
CRichEditCtrl中實現查詢功能
在我的乙個程式中,需要提供類似於記事本的查詢功能。如圖 我寫此文的目的是想向初學mfc的朋友們介紹 如何通過cricheditctrl來實現文字查詢 如何在窗體間傳送訊息 實現文字查詢功能,大致分為以下幾步 建立乙個包含有cricheditctrl的窗體資源以及該窗體對應的處理類 建立乙個錄入查詢文...
使用python實現查詢list中相同的字元
最近和小夥伴想實現從給定列表中識別出來相同的元素,現分享出來,有需要的小夥伴可以 一下,指點一下,具體如下 一 思路 1.按照list中第一元素的順序,進行遍歷每乙個字元 使用for迴圈 2.基於1找出要對比的元素,在給定列表中每個元素是否包含要對比的元素 是否for迴圈遍歷每個列表元素 對比的方案...
mapx實現查詢
1 屬性查詢。find search方法 注意的是find方法只支援tab表檔案,不支援空間資料 表。find 與foxpro中locate定位命令想類似。search 支援sql語句。寫法 僅指sql語句的where 部分,且from語句中只能有乙個表 僅對單錶進行操作 select from l...