# Python Program to Count the Occurrences of Elements in a Linked List without Recursion

This is a Python program to count the number of occurrences of an element in a linked list without using recursion.

Problem Description

The program prompts the user for a key and displays the number of times the key occurs in the linked list.

Problem Solution

1. Create a class Node.
3. Define methods append and display inside the class LinkedList to append data and display the linked list respectively.
4. Define method count.
5. count uses a loop and a variable to count the number of occurrences of a key.
6. Create an instance of LinkedList, append data to it and display the list.
7. Prompt the user for a key and display the number of times it occurs by calling the method count.

Program/Source Code

Here is the source code of a Python program to count the number of occurrences of an element in a linked list without using recursion. The program output is shown below.

```class Node:
def __init__(self, data):
self.data = data
self.next = None

def __init__(self):
self.last_node = None

def append(self, data):
if self.last_node is None:
else:
self.last_node.next = Node(data)
self.last_node = self.last_node.next

def display(self):
while current:
print(current.data, end = ' ')
current = current.next

def count(self, key):

count = 0
while current:
if current.data == key:
count = count + 1
current = current.next

return count

for data in [5, 1, 3, 5, 5, 15, 4, 9, 2]:
a_llist.append(data)
print('The linked list: ', end = '')
a_llist.display()
print()

key = int(input('Enter data item: '))
count = a_llist.count(key)
print('{0} occurs {1} time(s) in the list.'.format(key, count))```
Program Explanation

1. An instance of LinkedList is created.
2. Some elements are appended to the list.
3. The linked list is displayed.
4. The user is prompted for a key to enter.
5. count counts the number of times the key occurs in the list.
6. The count determined is then displayed.

Runtime Test Cases
```Case 1:
The linked list: 5 1 3 5 5 15 4 9 2
Enter data item: 5
5 occurs 3 time(s) in the list.

Case 2:
The linked list: 5 1 3 5 5 15 4 9 2
Enter data item: 3
3 occurs 1 time(s) in the list.

Case 3:
The linked list: 5 1 3 5 5 15 4 9 2
Enter data item: 7
7 occurs 0 time(s) in the list.```

Sanfoundry Global Education & Learning Series – Python Programs.

To practice all Python programs, here is complete set of 150+ Python Problems and Solutions.