排序和查詢3

2022-08-27 11:54:08 字數 1620 閱讀 4198

多維陣列我們只介紹二維陣列。

二維陣列的應用場景:

比如我們開發乙個五子棋遊戲,棋盤就是需要二維陣列來表示。

二維陣列的使用:

快速入門案例:

請用二維陣列輸出如下圖形

0 0 0 0 0 0

0 0 1 0 0 0

0 2 0 3 0 0

0 0 0 0 0 0

**演示:

使用方式1:先宣告/定義 再賦值

1)語法:var 陣列名[大小][大小]型別

2)比如:var arr[2][3]int,再賦值。

3)使用演示

4)二維陣列在記憶體的存在形式(重點)

func main()

列印的結果:

二維陣列在記憶體的布局的示意圖:

使用方式2:直接初始化

1)宣告:var 陣列名 [大小][大小]型別 = [大小][大小]型別,}

2)賦值(有預設值,比如int 型別的就是0)

3)使用演示

4)說明:二維陣列在宣告/定義時也對應有四種寫法【和一維陣列類似】

var 陣列名 [大小][大小]型別 = [大小][大小]型別,}

var 陣列名 [大小][大小]型別 = [...][大小]型別,}

var 陣列名 = [大小][大小]型別,}

var 陣列名 = [...][大小]型別,}

func main() ,}

fmt.println("arr3=", arr3)

}二維陣列的遍歷:

1)雙層for迴圈完成遍歷

案例演示:

func main() ,}

//for迴圈遍歷

for i := 0; i < len(arr3); i++

fmt.println()}}

2)for-range 方式完成遍歷

案例演示:

func main() ,}

//for-range來遍歷二維陣列

for i,v := range arr3

fmt.println()}}

小例子:

定義二維陣列,用於儲存三個班,每個班五名同學成績,並求出每個班級平均分、以及所有班級平均分。

func main()

}//遍歷輸出成績後的二維陣列,統計平均分

totalsum := 0.0 //定義乙個變數,用於累計所有班級的總分

for i := 0; i < len(scores); i++

totalsum += sum

fmt.printf("第%d班級的總分為%v 平均分%v \n", i+1, sum, sum / float64(len(scores[i])))

}fmt.printf("所有班級的總分為%v, 所有班級平均分%v \n", totalsum, totalsum / 15)

}

查詢和排序

二分查詢演算法 def search list,m low 0 high len list 1 while low high mid low high 2 if list mid m high mid 1 elif list mid m low mid 1 else return mid retur...

排序和查詢

1 氣泡排序 雞尾酒排序 選擇排序 插入排序 快速排序 include 氣泡排序 voidmaopao int a,int n int i,j for i 0 i n 1 i for j 0 j n 1 i j if a j a j 1 swap a,j,j 1 交換兩個數 void swap in...

查詢和排序

題目描述 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。note 給出的所有元素都大於0,若陣列大小為0,請返回0。思路 折半查詢。如果a mid 大於a right left ...