找到 1082 篇文章 关于 Go 编程
198 次浏览
ExampleAbs(x, y) => √(x)2+(y)2Scale(f) => (x*f, y*f)方法定义顶点为结构体。用一些 x 和值初始化顶点。定义一个计算绝对值(x, y) 的方法。定义一个计算缩放比例(x*f, y*f) 的方法。示例 在线演示package main import ( "fmt" "math" ) type Vertex struct { X, Y float64 } func Abs(v Vertex) float64{ return math.Sqrt(v.X*v.X + v.Y*v.Y) } func Scale(v *Vertex, f float64) { v.X = v.X * f v.Y = v.Y * f } func main() { v := Vertex{3, 4} fmt.Println("给定的顶点是: ", v) fmt.Println("给定顶点的绝对值是: ", ... 阅读更多
177 次浏览
示例方法提示用户输入数组大小。创建给定大小的字符串数组。提示用户输入元素。最后,打印数组。示例 在线演示package main import "fmt" func main(){ arr := []int{10, 20, 30, 60, 40, 50} boolArr := []bool{true, false, true, false, true, false} fmt.Println("输入数组是: ", arr) fmt.Println("输入布尔数组是: ", boolArr) visitedArray := []struct{ i int b bool }{ {10, true}, {20, false}, {30, true}, {60, false}, ... 阅读更多
101 次浏览
示例方法步骤 1 - 定义一个接受双向链表头的方法。步骤 2 - 初始化 temp:=head, count:=0步骤 3 - 迭代 temp 直到它变成 nil。步骤 4 - 将 count 增加 1。步骤 5 - 最后,打印 count。示例 在线演示package main import "fmt" type Node struct { prev *Node value int next *Node } func CreateNewNode(value int) *Node{ var node Node node.next = nil node.value = value node.prev = nil return &node } func TraverseDoublyLL(head * Node){ // 前向遍历 fmt.Printf("双向链表: ") count := 0 ... 阅读更多
394 次浏览
双向链表节点包含三个项目,其中两个项目指向下一个和上一个节点,第三个项目包含该节点的值。示例方法步骤 1 - 定义一个接受双向链表头的方法。步骤 2 - 初始化 temp:=head。步骤 3 - 迭代 temp 直到它变成 nil。步骤 4 - 打印 temp.value。示例 在线演示package main import "fmt" type Node struct { prev *Node value int next *Node } func CreateNewNode(value int) *Node{ var node Node node.next = nil node.value = value node.prev = nil return &node } ... 阅读更多
109 次浏览
示例示例解决此问题的方法 在线演示package main import "fmt" type Node struct { value int next *Node } func NewNode(value int, next *Node) *Node{ var n Node n.value = value n.next = next return &n } func TraverseLinkedList(head *Node){ temp := head for temp != nil { fmt.Printf("%d ", temp.value) temp = temp.next } fmt.Println() } func InsertNodeAtIthIndex(head *Node, index, data int) *Node{ if head == nil{ head = NewNode(data, nil) return head } if ... 阅读更多
281 次浏览
示例假设我们有以下树。中序树遍历输出 - 4 2 5 1 6 3 7解决此问题的方法步骤 1 - 如果给定树的根节点为 nil,则返回;否则,按照以下步骤操作。步骤 2 - 遍历左子树。步骤 3 - 打印根节点数据。步骤 4 - 遍历右子树。示例 在线演示package main import "fmt" type Node struct { data int left *Node right *Node } func (root *Node)InOrderTraversal(){ if root !=nil{ root.left.InOrderTraversal() fmt.Printf("%d ", root.data) root.right.InOrderTraversal() ... 阅读更多
72 次浏览
示例示例 在线演示package main import "fmt" type Node struct { value int next *Node } func NewNode(value int, next *Node) *Node{ var n Node n.value = value n.next = next return &n } func TraverseLinkedList(head *Node){ temp := head for temp != nil { fmt.Printf("%d ", temp.value) temp = temp.next } fmt.Println() } func InsertNodeAtIthIndex(head *Node, index, data int) *Node{ if head == nil{ head = NewNode(data, nil) return head } if index == 0{ ... 阅读更多
65 次浏览
示例示例 在线演示包 main 导入 "fmt" 类型 Node 结构体 { 值 int 下一个 *Node } 函数 NewNode(值 int,下一个 *Node) *Node { 变量 n Node n.值 = 值 n.下一个 = 下一个 返回 &n } 函数 TraverseLinkedList(头 *Node) { 临时 := 头 对于 临时 != nil { fmt.Printf("%d ",临时.值) 临时 = 临时.下一个 } fmt.Println() } 函数 InsertNodeAtIthIndex(头 *Node,索引,数据 int) *Node { 如果 头 == nil { 头 = NewNode(数据,nil) 返回 头 } 如果 索引 == 0 { ... 阅读更多