// 数组元素是否有序,升序
// @param arr 待检查数组
// @param length 数组长度
// @return true 为是升序
func isArraySort(arr []int, length int) bool {
if length == 1 {
return true
}else{
if arr[length - 1] <= arr[length - 2] {
return false
}else{
return isArraySort(arr, length - 1) // 升序
}
}
}
单元测试,通过的。
func Test_isArraySort(t *testing.T) {
type args struct {
arr []int
index int
}
tests := []struct {
name string
args args
want bool
}{
{
name: "正确顺序数组",
args: args{
arr: []int{10, 20, 30, 40, 50, 70},
index: 6, // 数组长度值
},
want: true,
},
{
name: "不正确顺序数组",
args: args{
arr: []int{10, 30, 40, 20, 15, 7},
index: 6,
},
want: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := isArraySort(tt.args.arr, tt.args.index); got != tt.want {
t.Errorf("isArraySort() = %v, want %v", got, tt.want)
}
})
}
}