go語言基礎知識學習第三天

2021-10-06 17:20:19 字數 3193 閱讀 4468

// 第乙個`int`是表示arrayzor是乙個列表; 第二個`int`是表示返回結果是乙個列表

func

bubblesort

(arrayzor [

]int)[

]int}}

// 返回經過排序後的列表

return arrayzor

}// 通過中間值來交換兩個資料

}//新建乙個變數tmp來交換元素

// 元素是插入到一段已經排好序的列表中

//隨機獲取乙個隨機數

median := arr[rand.

intn

(len

(arr))]

lowpart :=

make([

]int,0

,len

(arr)

) highpart :=

make([

]int,0

,len

(arr)

) middlepart :=

make([

]int,0

,len

(arr)

)//獲取大於median的列表、等於median的列表、大於median的列表

for_

, item :=

range arr

}//採用函式遞迴的思想

lowpart =

quicksort

(lowpart)

highpart =

quicksort

(highpart)

lowpart =

(lowpart, middlepart...

) lowpart =

(lowpart, highpart...

)return lowpart

}

func

merge

(a [

]int

, b [

]int)[

]int

else

}for i <

len(a)

for j <

len(b)

return r

}func

mergesort

(items [

]int)[

]int

// 將列表從中間分成兩部分

var middle =

len(items)/2

// 使用遞迴的思想來解決各自內部的排序

var a =

mergesort

(items[

:middle]

)var b =

mergesort

(items[middle:])

// 呼叫merge函式

//利用堆這種資料結構 子結點的鍵值或索引總是小於(或者大於)它的父節點

package sorts

//結構體 可以為不同項定義不同的資料型別

學習Go語言的第三天

示例 package main import fmt func main 以上程式的各個部分 package main 包名。注意 每個 go 應用程式都包含乙個名為 main 的包。import fmt 引入包 func main 是程式開始執行的函式。main 函式是每乙個可執行程式所必須包含的...

LUA基礎學習第三天

物件導向 metatable mytable 將metable設定為mytable的元素,類似metatable為父類,繼承 setmetatable mytable,metatable 當表中不存在該目標key時,通過index可以在元表中進行查詢 q1 當表中存在該目標key時,不會去執行 in...

c 基礎學習第三天

對第二天所學內容深入 工具vs2005 ps 再對面向過程程式設計和物件導向程式設計進行解釋。例如 八戒吃西瓜 1 八戒.吃 西瓜 物件導向,第一位是物件 2 吃 八戒,西瓜 面向過程,第一位是函式 吃這個動作即是函式來實現的 原有 存在的一些問題 當我們建立物件後,物件就應該具有相應的屬性,而不是...