- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Golang program to update the ith index node value, when index is at the nth position, i.e., out of index bound.
Example
Approach to solve this problem
Step 1 − Define a method that accepts the head of a linked list.
Step 2 − If head == nil, return the head.
Step 3 − Initialize the index as i := 0.
Step 4 − Iterate the given linked list from its head.
Step 5 − If index i matches with the given index (to be updated), then update that node.
Step 6 − Else, return head.
Example
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 UpdateKthIndexNode(head *Node, index , data int) *Node{ if head == nil{ return head } i := 0 temp := head for temp != nil{ if i == index{ temp.value = data break } i++ temp = temp.next } return head } func main(){ head := NewNode(30, NewNode(10, NewNode(40, NewNode(40, nil)))) fmt.Printf("Input Linked list is: ") TraverseLinkedList(head) index := 10 head = UpdateKthIndexNode(head, index, 15) fmt.Printf("Update %dth index node, Linked List is: ", index) TraverseLinkedList(head) }
Output
Input Linked list is: 30 10 40 40 Update 10th index node, Linked List is: 30 10 40 40
Advertisements