ExampleApproachAsk the user to enter the size of array.Make a string array of given size.Ask the user to enter elements.At the end, print the array.Example Live Demopackage main import "fmt" func main(){ arr := []int{10, 20, 30, 60, 40, 50} boolArr := []bool{true, false, true, false, true, false} fmt.Println("Input Array is: ", arr) fmt.Println("Input Boolean Array is: ", boolArr) visitedArray := []struct{ i int b bool }{ {10, true}, {20, false}, {30, true}, {60, false}, ... Read More
ExampleApproachAsk the user to enter the size of array.Make a string array of given size.Ask the user to enter the elements.At the end, print the array.Example Live Demopackage main import ( "fmt" ) func main(){ fmt.Printf("Enter size of your array: ") var size int fmt.Scanln(&size) var arr = make([]string, size) for i:=0; i
ExampleApproachAsk the user to enter the size of array.Make an integer array of given size.Ask the user to enter elements.At the end, print the array.Example Live Demopackage main import ( "fmt" ) func main(){ fmt.Printf("Enter size of your array: ") var size int fmt.Scanln(&size) var arr = make([]int, size) for i:=0; i
ExamplesApproachStep 1 − Define a method that accepts the head of a doubly linked list.Step 2 − Initialize temp:=head, count:=0Step 3 − Iterate temp until it becomes nil.Step 4 − Increase count by 1.Step 5 − At the end, print count.Example Live Demopackage 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){ // Forward Traversal fmt.Printf("Doubly Linked List: ") count := 0 ... Read More
A doubly linked list node contains three items, where two items point to the next and previous nodes, and the third item contains the value of that node.ExampleApproachStep 1 − Define a method that accepts the head of a doubly linked list.Step 2 − Initialize temp:=head.Step 3 − Iterate temp until it becomes nil.Step 4 − Print temp.value.Example Live Demopackage 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 } ... Read More
ExamplesExampleApproach to solve this problem Live Demopackage 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 ... Read More
ExampleSuppose we have the following tree.Inorder Tree Traversal Output − 4 2 5 1 6 3 7Approach to solve this problemStep 1 − If the root node of the given tree is nil, then return; else, follow the steps given below.Step 2 − Traverse the Left sub-tree.Step 3 − Print the root node data.Step 4 − Traverse the Right sub-tree.Example Live Demopackage 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() ... Read More
ExamplesExample Live Demopackage 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{ ... Read More
ExamplesExample Live Demopackage 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{ ... Read More
In this article, we are going to see how to optimize a React application by passing a memoized function.This hook is used to optimize a React application by returning a memoized function which helps to prevent unnecessary re-rendering of a function. This hook stores the cached value of the function and only updates the function if the passed dependencies changes.Syntaxconst memoizedCallback = useCallback(() => {doSomething(a, b); }, [a, b], );Here, doSomething() function will only be called again on the next re-render if the values of a or b changes; otherwise only the cached version of the function is passed.Note: useCallback(fn, ... Read More