#給出一組整數,將其按照公升序排序
#例如給出[3,2,1,4,5],排序後的結果為[1,2,3,4,5]
#引數a是乙個整數陣列
#返回乙個整數陣列
class solution:
def sortintegers2(self,a):
self.quicksort(a,0,len(a)-1)
def quicksort(self,a,start,end):
if start>=end:
return
left,right=start,end
pivot=a[int((start+end)/2)]
while left<=right:
while left<=right and a[left] < pivot:
left += 1
while left<=right and a[right]>pivot:
right-=1
if left<=right:
a[left],a[right]=a[right],a[left]
left+=1
right-=1
self .quicksort(a,start,right)
self.quicksort(a,left,end)
#主函式
if __name__ == "__main__":
a = [3,2,1,4,5]
print('初始陣列:',a)
solution = solution()
solution.sortintegers2(a)
print('快速排序:',a)
11 大整數減法
描述求兩個大的正整數相減的差。輸入 共2行,第1行是被減數a,第2行是減數b a b 每個大整數不超過200位,不會有多餘的前導零。輸出 一行,即所求的差。樣例輸入 9999999999999999999999999999999999999 9999999999999 樣例輸出 原始碼 includ...
排序11 計數排序
這裡再介紹一種排序演算法,該方法也是不需要進行元素間的比較,卻能實現排序過程的。不過,與基數排序一樣,它所處理的序列也有些限制 序列元素必須為非負整數,且大小有上限。仍以序列 49 38 65 97 76 13 27 49為例。計數排序的思想在於 首先,求取該序列中最大的元素,顯然為97。然後,建立...
11 完善核心 列印整數
接前兩篇部落格.print.s中新增 global put int put int pushad mov ebp,esp mov eax,ebp 4 9 call的返回位址佔4位元組 pushad的8個4位元組 mov edx,eax mov edi,7 指定在put int buffer中初始的偏...