# Sum of nodes in a linked list

Given a linked list which include integer elements. Our goal is to find sum of elements which is present in this linked list. We assume that the sum of nodes are not break the maximum and minimum integer.

``````List : 10 → -2 → 3 → NULL
Output : 11

List : 1 → 5 → 2 → 6 NULL
Output : 14``````

That is one of the basic problem to traverse linked list node, Which is easily solve using recursion and iterative manner.

``````// C Program
// Sum of nodes in a linked list
#include <stdio.h>
//For malloc function
#include <stdlib.h>

struct Node
{
int data;
struct Node *next;
};
//Create a node of linked list
struct Node *create_node(int data)
{
//Create dynamic node
struct Node *node = (struct Node *) malloc(sizeof(struct Node));
if (node == NULL)
{
printf("Memory overflow\n");
}
else
{
//Set initial node value
node->data = data;
node->next = NULL;
}
return node;
}
void insert(struct Node **head, int data)
{
struct Node *node = create_node(data);
{
}
else
{
//Find last node
while (temp->next != NULL)
{
temp = temp->next;
}
temp->next = node;
}
}
{
{
return;
}
while (temp != NULL)
{
printf("  %d", temp->data);
//visit to next node
temp = temp->next;
}
printf("\n");
}
// Calculate sum of all node elements in given singly linked list
{
{
return;
}
//Define resultant variable
int result = 0;
//Start to first node of linked list
while (temp != NULL)
{
result = result + temp->data;
//visit to next node
temp = temp->next;
}
//Display Calculated result
printf(" Node Sum Is :  %d\n", result);
}
int main()
{
return 0;
}``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is :  35``````
``````// Java Program
// Sum of nodes in a linked list

class Node
{
public int data;
public Node next;
public Node(int data)
{
//Set node value
this.data = data;
this.next = null;
}
}
{
public Node tail;
//Class constructors
{
this.tail = null;
}
//insert node at last of linke list
public void insert(int data)
{
//Create a node
Node node = new Node(data);
{
this.tail = node;
}
else
{
this.tail.next = node;
this.tail = node;
}
}
public void display()
{
{
return;
}
while (temp != null)
{
//display node value
System.out.print("  " + temp.data);
//visit to next node
temp = temp.next;
}
System.out.print("\n");
}
// Calculate sum of all node elements in given singly linked list
public void node_sum()
{
{
return;
}
//Define resultant variable
int result = 0;
//Start to first node of linked list
while (temp != null)
{
result = result + temp.data;
//visit to next node
temp = temp.next;
}
//Display Calculated result
System.out.print(" Node Sum Is : " + result + "\n");
}
public static void main(String[] args)
{
obj.insert(4);
obj.insert(7);
obj.insert(2);
obj.insert(3);
obj.insert(1);
obj.insert(3);
obj.insert(4);
obj.insert(5);
obj.insert(6);
obj.display();
obj.node_sum();
}
}``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is : 35``````
``````//Include header file
#include <iostream>

using namespace std;
// C++ Program
// Sum of nodes in a linked list

class Node
{
public: int data;
Node * next;
Node(int data)
{
//Set node value
this->data = data;
this->next = NULL;
}
};
{
Node * tail;
//Class constructors
{
this->tail = NULL;
}
//insert node at last of linke list
void insert(int data)
{
//Create a node
Node * node = new Node(data);
{
this->tail = node;
}
else
{
this->tail->next = node;
this->tail = node;
}
}
void display()
{
{
return;
}
cout << "\n Linked List : ";
while (temp != NULL)
{
//display node value
cout << "  " << temp->data;
//visit to next node
temp = temp->next;
}
cout << "\n";
}
// Calculate sum of all node elements in given singly linked list
void node_sum()
{
{
return;
}
//Define resultant variable
int result = 0;
//Start to first node of linked list
while (temp != NULL)
{
result = result + temp->data;
//visit to next node
temp = temp->next;
}
//Display Calculated result
cout << " Node Sum Is : " << result << "\n";
}
};
int main()
{
obj.insert(4);
obj.insert(7);
obj.insert(2);
obj.insert(3);
obj.insert(1);
obj.insert(3);
obj.insert(4);
obj.insert(5);
obj.insert(6);
obj.display();
obj.node_sum();
return 0;
}``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is : 35``````
``````//Include namespace system
using System;
// C# Program
// Sum of nodes in a linked list

class Node
{
public int data;
public Node next;
public Node(int data)
{
//Set node value
this.data = data;
this.next = null;
}
}
{
public Node tail;
//Class constructors
{
this.tail = null;
}
//insert node at last of linke list
public void insert(int data)
{
//Create a node
Node node = new Node(data);
{
this.tail = node;
}
else
{
this.tail.next = node;
this.tail = node;
}
}
public void display()
{
{
return;
}
while (temp != null)
{
//display node value
Console.Write("  " + temp.data);
//visit to next node
temp = temp.next;
}
Console.Write("\n");
}
// Calculate sum of all node elements in given singly linked list
public void node_sum()
{
{
return;
}
//Define resultant variable
int result = 0;
//Start to first node of linked list
while (temp != null)
{
result = result + temp.data;
//visit to next node
temp = temp.next;
}
//Display Calculated result
Console.Write(" Node Sum Is : " + result + "\n");
}
public static void Main(String[] args)
{
obj.insert(4);
obj.insert(7);
obj.insert(2);
obj.insert(3);
obj.insert(1);
obj.insert(3);
obj.insert(4);
obj.insert(5);
obj.insert(6);
obj.display();
obj.node_sum();
}
}``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is : 35``````
``````<?php
// Php Program
// Sum of nodes in a linked list

class Node
{
public \$data;
public \$next;

function __construct(\$data)
{
//Set node value
\$this->data = \$data;
\$this->next = null;
}
}
{
public \$tail;
//Class constructors
function __construct()
{
\$this->tail = null;
}
//insert node at last of linke list
public  function insert(\$data)
{
//Create a node
\$node = new Node(\$data);
{
\$this->tail = \$node;
}
else
{
\$this->tail->next = \$node;
\$this->tail = \$node;
}
}
public  function display()
{
{
return;
}
echo "\n Linked List : ";
while (\$temp != null)
{
//display node value
echo "  ". \$temp->data;
//visit to next node
\$temp = \$temp->next;
}
echo "\n";
}
// Calculate sum of all node elements in given singly linked list
public  function node_sum()
{
{
return;
}
//Define resultant variable
\$result = 0;
//Start to first node of linked list
while (\$temp != null)
{
\$result = \$result + \$temp->data;
//visit to next node
\$temp = \$temp->next;
}
//Display Calculated result
echo " Node Sum Is : ". \$result ."\n";
}
}

function main()
{
\$obj->insert(4);
\$obj->insert(7);
\$obj->insert(2);
\$obj->insert(3);
\$obj->insert(1);
\$obj->insert(3);
\$obj->insert(4);
\$obj->insert(5);
\$obj->insert(6);
\$obj->display();
\$obj->node_sum();
}
main();``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is : 35``````
``````// Node Js Program
// Sum of nodes in a linked list

class Node
{
constructor(data)
{
//Set node value
this.data = data;
this.next = null;
}
}
{
//Class constructors
constructor()
{
this.tail = null;
}
//insert node at last of linke list
insert(data)
{
//Create a node
var node = new Node(data);
{
this.tail = node;
}
else
{
this.tail.next = node;
this.tail = node;
}
}
display()
{
{
return;
}
while (temp != null)
{
//display node value
process.stdout.write("  " + temp.data);
//visit to next node
temp = temp.next;
}
process.stdout.write("\n");
}
// Calculate sum of all node elements in given singly linked list
node_sum()
{
{
return;
}
//Define resultant variable
var result = 0;
//Start to first node of linked list
while (temp != null)
{
result = result + temp.data;
//visit to next node
temp = temp.next;
}
//Display Calculated result
process.stdout.write(" Node Sum Is : " + result + "\n");
}
}

function main()
{
obj.insert(4);
obj.insert(7);
obj.insert(2);
obj.insert(3);
obj.insert(1);
obj.insert(3);
obj.insert(4);
obj.insert(5);
obj.insert(6);
obj.display();
obj.node_sum();
}
main();``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is : 35``````
``````#  Python 3 Program
#  Sum of nodes in a linked list

class Node :

def __init__(self, data) :
# Set node value
self.data = data
self.next = None

# Class constructors
def __init__(self) :
self.tail = None

# insert node at last of linke list
def insert(self, data) :
# Create a node
node = Node(data)
self.tail = node
else :
self.tail.next = node
self.tail = node

def display(self) :
print("\nEmpty linked list\n", end = "")
return

print("\n Linked List : ", end = "")
while (temp != None) :
# display node value
print("  ", temp.data, end = "")
# visit to next node
temp = temp.next

print(end="\n")

#  Calculate sum of all node elements in given singly linked list
def node_sum(self) :
return

# Define resultant variable
result = 0
# Start to first node of linked list
while (temp != None) :
result = result + temp.data
# visit to next node
temp = temp.next

# Display Calculated result
print(" Node Sum Is : ", result )

def main() :
obj.insert(4)
obj.insert(7)
obj.insert(2)
obj.insert(3)
obj.insert(1)
obj.insert(3)
obj.insert(4)
obj.insert(5)
obj.insert(6)
# Display of linked list nodes
obj.display()
obj.node_sum()

if __name__ == "__main__": main()``````

#### Output

`````` Linked List :    4   7   2   3   1   3   4   5   6
Node Sum Is :  35``````
``````#  Ruby Program
#  Sum of nodes in a linked list

class Node

# Define the accessor and reader of class Node
attr_accessor :data, :next

def initialize(data)

# Set node value
self.data = data
self.next = nil
end
end

# Class constructors
def initialize()

self.tail = nil
end
# insert node at last of linke list
def insert(data)

# Create a node
node = Node.new(data)

self.tail = node
else

self.tail.next = node
self.tail = node
end
end
def display()

return
end
while (temp != nil)

# display node value
print("  ", temp.data)
# visit to next node
temp = temp.next
end
print("\n")
end
#  Calculate sum of all node elements in given singly linked list
def node_sum()

return
end
# Define resultant variable
result = 0
# Start to first node of linked list
while (temp != nil)

result = result + temp.data
# visit to next node
temp = temp.next
end
# Display Calculated result
print(" Node Sum Is : ", result ,"\n")
end
end
def main()

obj.insert(4)
obj.insert(7)
obj.insert(2)
obj.insert(3)
obj.insert(1)
obj.insert(3)
obj.insert(4)
obj.insert(5)
obj.insert(6)
# Display of linked list nodes
obj.display()
obj.node_sum()
end
main()``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is : 35
``````
``````// Scala Program
// Sum of nodes in a linked list

class Node(var data: Int,
var next: Node)
{
def this(data: Int)
{
this(data, null);
}
}
var tail: Node)
{
//Class constructors
def this()
{
this(null, null);
}
//insert node at last of linke list
def insert(data: Int): Unit = {
//Create a node
var node: Node = new Node(data);
{
this.tail = node;
}
else
{
this.tail.next = node;
this.tail = node;
}
}
def display(): Unit = {
{
return;
}
while (temp != null)
{
//display node value
print("  " + temp.data);
//visit to next node
temp = temp.next;
}
print("\n");
}
// Calculate sum of all node elements in given singly linked list
def node_sum(): Unit = {
{
return;
}
//Define resultant variable
var result: Int = 0;
//Start to first node of linked list
while (temp != null)
{
result = result + temp.data;
//visit to next node
temp = temp.next;
}
//Display Calculated result
print(" Node Sum Is : " + result + "\n");
}
}
object Main
{
def main(args: Array[String]): Unit = {
obj.insert(4);
obj.insert(7);
obj.insert(2);
obj.insert(3);
obj.insert(1);
obj.insert(3);
obj.insert(4);
obj.insert(5);
obj.insert(6);
obj.display();
obj.node_sum();
}
}``````

#### Output

`````` Linked List :   4  7  2  3  1  3  4  5  6
Node Sum Is : 35``````
``````// Swift Program
// Sum of nodes in a linked list

class Node
{
var data: Int;
var next: Node? ;
init(_ data: Int)
{
//Set node value
self.data = data;
self.next = nil;
}
}
{
var tail: Node? ;
//Class constructors
init()
{
self.tail = nil;
}
//insert node at last of linke list
func insert(_ data: Int)
{
//Create a node
let node: Node? = Node(data);
{
self.tail = node;
}
else
{
self.tail!.next = node;
self.tail = node;
}
}
func display()
{
{
return;
}
print("\n Linked List : ", terminator: "");
while (temp != nil)
{
//display node value
print("  ", temp!.data, terminator: "");
//visit to next node
temp = temp!.next;
}
print("\n", terminator: "");
}
// Calculate sum of all node elements in given singly linked list
func node_sum()
{
{
return;
}
//Define resultant variable
var result: Int = 0;
//Start to first node of linked list
while (temp != nil)
{
result = result + temp!.data;
//visit to next node
temp = temp!.next;
}
//Display Calculated result
print(" Node Sum Is : ", result ,"\n", terminator: "");
}
}
func main()
{
obj.insert(4);
obj.insert(7);
obj.insert(2);
obj.insert(3);
obj.insert(1);
obj.insert(3);
obj.insert(4);
obj.insert(5);
obj.insert(6);
obj.display();
obj.node_sum();
}
main();``````

#### Output

`````` Linked List :    4   7   2   3   1   3   4   5   6
Node Sum Is :  35``````

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.