正文实例陈说了Go语言获取数老总度的措施。分享给我们供我们参照他事他说加以考察。具体落到实处际情状势如下:

1.申圣元个数组 var a[2] int 或者 a:=[2]int{1,2}

正文实例陈诉了Go语言算法之寻觅数组第二大成分的秘技。共享给我们供我们仿效。具体如下:

复制代码 代码如下:

2.数组索引
数组便是索引的来确立如下图

该算法的原理是,在遍历数组的时,始终记录当前最大的因素和第二大的要素。示例代码如下:

// getting the length of an array is silly, because the length is part
of the array’s static type
myArray := [3]int{1, 2, 3}
fmt.Println(len(myArray)) // prints 3
// getting the length of a slice
mySlice := []int{1, 2, 3}
fmt.Println(len(mySlice)) // prints 3

图片 1

复制代码 代码如下:

期待本文所述对大家的Go语言程序设计有所援救。

咱俩再来四个测量检验

package demo01 
 
import ( 
    “fmt” 

 
func NumberTestBase() { 
    fmt.Println(“This is NumberTestBase”) 
 
    nums := []int{12, 24, 2, 5, 13, 8, 7} 
    fmt.Println(“nums:”, nums) 
    secondMax := getSecondMaxNum(nums) 
    fmt.Println(“secondMax=”, secondMax) 

 
func getSecondMaxNum(nums []int) int { 
    length := len(nums) 
    if length == 0 { 
        panic(“Slice nums cannot be 0-size.”) 
    } 
 
    if length == 1 { 
        return nums[0] 
    } 
 
    var max, secondMax int 
    if nums[0] > nums[1] { 
        max = nums[0] 
        secondMax = nums[1] 
    } else { 
        max = nums[1] 
        secondMax = nums[0] 
    } 
 
    for i := 2; i < len(nums); i++ { 
        if nums[i] > secondMax { 
            if nums[i] <= max { 
                secondMax = nums[i] 
            } else { 
                secondMax, max = max, nums[i] 
            } 
        } 
    } 
    return secondMax 
}

您恐怕感兴趣的稿子:

  • php达成平稳数组打印或排序的不二秘籍【附Python、C及Go语言达成代码】
  • 深深驾驭Go语言中的数组和切成块
  • Go语言中数组的中坚用法演示
  • Go语言算法之搜索数组第二大成分的章程
  • Go语言创立、伊始化数组的大面积模式聚焦
  • GO语言基础之数组
  • 浅谈Go语言中字符串和数组
  • GO语言数组和切成块实例详解
  • Go语言达成选择法排序实例
  • Go语言实现冒泡排序、选用排序、快捷排序及插入排序的不二等秘书技
  • Go语言使用sort包对随便档案的次序成分的聚合实行排序的法子
  • Golang算法难点之数组按内定准绳排序的主意分析

图片 2

瞩望本文所述对大家的Go语言程序设计具备帮忙。

3.go语言能够自动计算数组的尺寸,例如你精晓数组有多少个可以如下注明

你或然感兴趣的篇章:

  • Golang算法难题之数组按钦定准绳排序的章程剖判
  • Golang算法之田期思赛马难题落到实处方式深入分析
  • Golang排列组合算法难题之全排列完成方式
  • Golang正整数内定准则排序算法难题浅析
  • Golang最大递减数算法难题浅析
  • Go语言展现连忙排序算法全经过的笔触及代码示例
  • GO语言利用K近邻算法达成随笔鉴黄
  • Go语言实现Hanno塔算法
  • Go语言通过Luhn算法验证银行卡卡号是还是不是管用的主意
  • go语言睡眠排序算法实例深入分析
  • Go语言完毕AzDG可逆加密算法实例
  • Go语言落成的树形结构数据比较算法实例
  • Golang算法难点之整数拆分完毕情势剖析

复制代码 代码如下:

a:=[…]int{1,2,3,45}

4.指针数组

复制代码 代码如下:

a:=[3]int{1,2,3}
var p * [3]int = &a //这种是指针数组
我们来看可以直接出口指向数组的指针
x , y :=1 ,3
a := […]*int{&x ,&y}
str.Println(a) //输出那样[0xc080000068 0xc080000070]的地点那正是数组指针

能够用new关键字声明

复制代码 代码如下:

p := new([10]int)
fmt.Println(p)  //&[0 0 0 0 0 0 0 0 0 0] 输出三个指南针

多维数组跟别的语言同样

复制代码 代码如下:

c := [3][2]int{{1: 2}, {2, 1}, {2, 2}}
fmt.Println(c) //输出[[0 2] [2 1] [2 2]]

冒泡算法之go语言版

复制代码 代码如下:

package main

import “fmt”

func main() {
 a := […]int{3, 2, 5, 8, 6}
 fmt.Println(a)
 num := len(a)
 for i := 0; i < num; i++ {
  for j := i + 1; j < num; j++ {
   if a[i] < a[j] {
    temp := a[i]
    a[i] = a[j]
    a[j] = temp
   }
  }
 }
 fmt.Println(a)
}

你也许感兴趣的篇章:

  • php达成稳步数组打字与印刷或排序的方法【附Python、C及Go语言实今世码】
  • 深切了然Go语言中的数组和切丝
  • Go语言中数组的基本用法演示
  • Go语言获取数经理度的艺术
  • Go语言算法之寻觅数组第二大成分的方法
  • Go语言创设、起初化数组的宽广方法聚集
  • 浅谈Go语言中字符串和数组
  • GO语言数组和切成块实例详解
  • Go语言实现选拔法排序实例
  • Go语言达成冒泡排序、选择排序、快速排序及插入排序的方法
  • Go语言使用sort包对轻松档期的顺序成分的汇集举行排序的点子
  • Golang算法难点之数组按钦赐法则排序的章程分析

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章