Lua——快速排序

開始學習lua,打算先用lua來寫一下排序算法,這是個開始。希望能堅持下去。先是快排代碼如下(就不解釋了邏輯和C#一樣只是語法格式問題)

myarr = {1,3,2,33,22,100}

function quicksort(arr,left,right)
	index = arr[left]
	l = left
	r = right
	while l < r do
		while l < r and index <= arr[r] do
			r = r - 1
		end
		arr[l] = arr[r]
		while l < r and index >= arr[l] do
			l = l+1
		end
		arr[r] = arr[l]
	end
	arr[l] = index
	if l - left > 1 then
		quicksort(arr,left,l - 1)
	end
	if right - r > 1 then
		quicksort(arr,r+1, right)
	end
end

quicksort(myarr,1,#myarr)

for k,v in pairs(myarr) do
	print(v)
end

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章