已知有一个排序好的升序数组,要求插入一个元素,最后打印该数组,顺序依然是升序
package main
import (
"fmt"
)
func main() {
/*已知有一个排序好的升序数组,要求插入一个元素,最后打印该数组,顺序依然是升序*/
// 关键:数组是固定的,长度是不能动态变化的,因此我们需要再另外定义一个比原数组长度大一的数组
var arr = [5]int{19, 23, 44, 53, 241}
fmt.Println("原数组:", arr)
var arr2 = [6]int{}
var num int
fmt.Println("请输入一个元素:")
fmt.Scanf("%d", &num)
for i := 0; i < len(arr); i++ {
if num > arr[i] {
arr2[i] = arr[i]
} else if num <= arr[i] {
arr2[i] = num
for j := i; j < len(arr); j++ {
arr2[j+1] = arr[j]
}
break
}
}
fmt.Printf("插入%d后数组为:%v", num, arr2)
}
输出结果: