Back to: Data Structures and Algorithms Tutorials
Sum of all Elements in a Linked List using C Language with Examples:
In this article, I am going to discuss How to find the Sum of all elements in a Linked List using C Language with Examples. Please read our previous article, where we discussed Counting Nodes in a Linked List using C Language with Examples.
How to find the Sum of all elements in a Linked list?
Here, we will write a function for finding the sum of all these elements in a linked list.
We want to add all these elements one by one. So, for adding we have to traverse all the nodes. We need a pointer for traversing the nodes. So let us write a function for adding all these values.
Iterative Version:
int Add(struct Node *p){ int sum = 0; while(p){ sum += p->data; p = p->next; } return(sum); }
Now let us write the same function for finding the sum of all the elements using recursion.
Recursive Version:
int Add(struct Node *p){ if(p == 0) return 0; else return Add(p->next) + p->data; }
The same recursive method we have already seen in the previous article where we were calculating the number of nodes in a linked list. Now let us write the full program in the C language.
Program to find the Sum of all the Elements in a Linked List using C Language:
#include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; } *first = NULL; void Create(int A[], int n) { int i; struct Node *t, *last; first = (struct Node *) malloc (sizeof (struct Node)); first->data = A[0]; first->next = NULL; last = first; for (i = 1; i < n; i++) { t = (struct Node *) malloc (sizeof (struct Node)); t->data = A[i]; t->next = NULL; last->next = t; last = t; } } int Add(struct Node *p) { int sum = 0; while (p) { sum += p->data; p = p->next; } return (sum); } int RAdd(struct Node *p) { if (p == 0) return 0; else return RAdd(p->next) + p->data; } int main() { int A[] = { 8, 3, 7, 12 }; Create (A, 4); printf ("Sum %d\n", Add (first)); return 0; }
Output:
In the next article, I am going to discuss How to Find the Maximum Element in a Linked List using C Language with Examples. Here, in this article, I try to explain the Program for finding the Sum of all elements in a Linked list in C Language with Examples and I hope you enjoy this How to find the Sum of all elements in a Linked list in C Language with Examples article.