GO学习 Array类型和排序

数组的类型

package main

import "fmt"

func main() {

  /*

  数据类型:

      基本类型:整数,浮点,布尔,字符串

      复合类型:array,slice,map,struct,pointer,function,channel...

  数组的数据类型:

    [size]type

  值类型:理解为存储的数值本身

    将数据传递给其他的变量,传递的是数据的备份(副本)

      int,float,string,bool,array

  引用类型:理解为存储数据的内存地址

      slice,map

  */

  //1.数据类型

  num := 10

  fmt.Printf("%T\n",num)

  arr1 :=[4]int{1,2,3,4}

  arr2 :=[3]float64{2.15,3.14,6.58}

  arr3 :=[4]int{5,6,7,8}

  arr4 :=[2]string{"hello","world"}

  fmt.Printf("%T\n",arr1)//[4]int

  fmt.Printf("%T\n",arr2)//[3]float64

  fmt.Printf("%T\n",arr3)//[4]int

  fmt.Printf("%T\n",arr4)//[2]string

  //2.赋值

  num2 := num //值传递

  fmt.Println(num,num2) //10 10

  num2 = 20

  fmt.Println(num,num2) //10 20

  //数组

  arr5 := arr1 //值传递

  fmt.Println(arr1)

  fmt.Println(arr5)

  arr5[0] = 100

  fmt.Println(arr1)

  fmt.Println(arr5)

  a := 3

  b := 4

  fmt.Println(a == b) //比较a和b的数值是否相等

  fmt.Println(arr5 == arr1) //比较数字的对应下标位置的数值是否相等

  //fmt.Println(arr1 == arr2) // invalid operation: arr1 == arr2 (mismatched types [4]int and [3]float64)

}

运行输出:

int

[4]int

[3]float64

[4]int

[2]string

10 10

10 20

[1 2 3 4]

[1 2 3 4]

[1 2 3 4]

[100 2 3 4]

false

false

Process finished with exit code 0

数组排序

package main

import "fmt"

func main() {

  /*

  数组的排序:

    让数组中的元素具有一定的顺序

    arr :=[5]int{15,23,8,10,7}

      升序:[7,8,10,15,23]

      降序:[23,15,10,8,7]

  排序算法:

    冒泡排序,插入排序,选择排序,希尔排序,堆排序,快速排序。。。。。

  冒泡排序:(Bubble Sort)

    依次比较两个相邻的元素,如果他们的顺序(例:从小到大)就把他们交换过来

  */

  arr :=[5]int{15,23,8,10,7}

  ////第一轮排序

  //for j :=0;j<4;j++{

  //  if arr[j] > arr[j+1]{

  //    arr[j],arr[j+1] = arr[j+1],arr[j]

  //  }

  //}

  //fmt.Println(arr)

  //

  ////第二轮排序

  //for j :=0;j<3;j++{

  //  if arr[j] > arr[j+1]{

  //    arr[j],arr[j+1] = arr[j+1],arr[j]

  //  }

  //}

  //fmt.Println(arr)

  fmt.Println("........")

    //总结

    for i :=1;i < len(arr);i++{

    for j :=0;j

      if arr[j] > arr[j+1]{

        arr[j],arr[j+1] = arr[j+1],arr[j]

      }

    }

    fmt.Println(arr)

  }

}

运行输出:

........

[15 8 10 7 23]

[8 10 7 15 23]

[8 7 10 15 23]

[7 8 10 15 23]

Process finished with exit code 0


读完点个赞,给我的坚持更新注入新的活力。

2022.05.12日更68/365 天

公众号:3天时间

往期同类文章:

GO学习 Array

GO学习 goto语句和随机函数

GO学习 for循环练习

GO学习 多重for循环

GO学习 for循环

你可能感兴趣的:(GO学习 Array类型和排序)