Golang程序 检查一个给定的数组是否被排序(使用冒泡排序技术)
例子
- 输入 arr = [7, 15, 21, 26, 33] => 数组已经被排序了。
- 输入 arr = [7, 5, 1, 6, 3] => 数组没有被排序。
解决这个问题的方法
- 第1步:从第 0个索引到 n-1 迭代数组 。
- 第2步:从第 0个索引到 n-1-i 迭代数组,其中 i 是上述循环的索引。
- 第3步:如果在第一次迭代中没有发生交换,那么打印 “数组已经被排序”。
- 第4步:如果交换发生,则打印 “数组没有被排序”。
程序
package main
import "fmt"
func checkSortedArray(arr []int){
sortedArray := true
for i:=0; i<=len(arr)-1; i++{
for j:=0; j<len(arr)-1-i; j++{
if arr[j]> arr[j+1]{
sortedArray = false
break
}
}
}
if sortedArray{
fmt.Println("Given array is already sorted.")
} else {
fmt.Println("Given array is not sorted.")
}
}
func main(){
checkSortedArray([]int{1, 3, 5, 6, 7, 8})
checkSortedArray([]int{1, 3, 5, 9, 4, 2})
checkSortedArray([]int{9, 7, 4, 2, 1, -1})
}
输出
Given array is already sorted.
Given array is not sorted.
Given array is not sorted.
极客教程