例11 整數排序

2022-06-19 10:33:12 字數 854 閱讀 9272

#給出一組整數,將其按照公升序排序

#例如給出[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中初始的偏...