一. 双重for循环

  • 可以在循环中执行循环,称为双重for循环
  • 代码示例
  1. for i := 0; i < 2; i++ {
  2. for j := 0; j < 2; j++ {
  3. fmt.Println(i, j)
  4. }
  5. }
  • 上面代码中注意:
    • 只有当子循环完全执行结束才能再次执行外侧循环.因为循环体执行完才能执行表达式3

二.冒泡排序

  • 排序就是把一组数据按照特定的顺序重新排列.可以是升序,降序等
  • 冒泡排序利用双重for循环把最大(小)的值移动到一侧,每次可以判断出一个数据,如果有n个数组,执行n-1次循环就可以完成排序
  • 排序代码(升序还是降序主要是看if判断是大于还是小于)
  1. arr := [5]int{1, 7, 3, 6, 2}
  2. for i := 0; i < len(arr)-1; i++ {
  3. for j := 0; j < len(arr)-i-1; j++ {
  4. if arr[j] > arr[j+1] {
  5. arr[j], arr[j+1] = arr[j+1], arr[j]
  6. }
  7. }
  8. }
  9. fmt.Println(arr)