数组实战,程序员的基本功。
实战需求:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
实战思路:
1、先声明两个数组,分别用于存储奇数和偶数,
2、然后遍历待排序的数组,根据是否可以被 2 整除,将数据分发到偶数和奇数数组,
3、最后将偶数数组追加到奇数数组之后作为新的数组返回。
马上安排!
一、工程目录二、创建 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
菜鸟实战,持续学习!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |