數組實戰,程式員的基本功。 實戰需求: 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。 實戰思路: 1、先聲明兩個數組,分別用於存儲奇數和偶數, 2、然後遍歷待排序的數組,根據是否可以被 2 整除,將數據分發到偶數和奇數數組, 3 ...
實戰需求:
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。
實戰思路:
1、先聲明兩個數組,分別用於存儲奇數和偶數,
2、然後遍歷待排序的數組,根據是否可以被 2 整除,將數據分發到偶數和奇數數組,
3、最後將偶數數組追加到奇數數組之後作為新的數組返回。
馬上安排!
一、工程目錄
cd go-002/
二、創建 g002.go
/* * @Author: 菜鳥實戰 * @FilePath: /go110/go-002/g002.go * @Description: 數組實戰,程式員的基本功 */ package main import ( "fmt" "runtime" ) // 輸入一個整數數組,實現一個函數來調整該數組中數字的順序, // 使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。 func formatArrayV1(arr []int) []int { // 聲明兩個數組 var oddArr, evenArr []int // 區分奇數和偶數 for _, value := range arr { if value%2 == 0 { evenArr = append(evenArr, value) } else { oddArr = append(oddArr, value) } } // 拼接 return append(oddArr, evenArr...) } // 主函數 func main() { // 使用內置函數列印 println("Hello", "菜鳥實戰") // 待排序數組 arr := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} fmt.Println("排序前:", arr) fmt.Println("排序後:", formatArrayV1(arr)) // 使用包函數列印 fmt.Printf("版本: %s \n", runtime.Version()) }
三、編譯和運行
1、編譯運行
# 1、生成模塊依賴 go mod init g002 # 2、編譯 go build g002.go # 3、編譯後的目錄結構 └── go-002 ├── g002 ├── g002.go └── go.mod # 4、運行 go run g002
2、運行結果
Hello 菜鳥實戰
排序前: [0 1 2 3 4 5 6 7 8 9]
排序後: [1 3 5 7 9 0 2 4 6 8]
版本: go1.17.10
菜鳥實戰,持續學習!