多維陣列我們只介紹二維陣列。
二維陣列的應用場景:
比如我們開發乙個五子棋遊戲,棋盤就是需要二維陣列來表示。
二維陣列的使用:
快速入門案例:
請用二維陣列輸出如下圖形
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 ...