A PHP Error was encountered

Severity: 8192

Message: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated

Filename: libraries/Filtered_db.php

Line Number: 23

Count the number of occurrences of an element in a linked list without using recursion
Q:

Count the number of occurrences of an element in a linked list without using recursion

0

Count the number of occurrences of an element in a linked list without using recursion

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Data structure used:

Singly linked list where each node contains a data element say data and the address of the immediate next node say next, with Head holding the address of the first node.

Pseudo code:

    Begin
        temp=Head
        Count = 0
        while(temp != NULL)
            begin
                if(temp->data = key)
                    count=count+1
                endif
                temp=temp->link
        End while
    End

C program to Count the number of occurrences of an element in a linked list without using recursion

#include <stdio.h>
#include <stdlib.h>

typedef struct list  //linked list node
{
	int data;
	struct list *next;
}node;

int main()
{
	node *head=NULL,*temp,*temp1;
	int choice,count=0,key;

	//building the linked list
	do
	{
		temp=(node *)malloc(sizeof(node));
		if(temp!=NULL)
		{
			printf("\nEnter the element in the list : ");
			scanf("%d",&temp->data);
			temp->next=NULL;
			if(head==NULL)
			{	
				head=temp;
			}
			else
			{
				temp1=head;
				while(temp1->next!=NULL)
				{
					temp1=temp1->next;
				}
				temp1->next=temp;
			}
		}
		else
		{
			printf("\nMemory not avilable...node allocation is not possible");
		}
		printf("\nIf you wish to add m ore data on the list enter 1 : ");
		scanf("%d",&choice);
	}while(choice==1);
	
	//finding occurence of key
	printf("\nEnter the data to find it's occurrence : ");
	scanf("%d",&key);
	
	temp=head;
	while(temp!=NULL)
	{
		if(temp->data==key)
		{
			count=count+1;
		}
		temp=temp->next;
	}
	printf("\n %d occurred %d times in the list",key,count);

	return 0;
}

Output

 
Enter the element in the list : 1

If you wish to add m ore data on the list enter 1 : 1

Enter the element in the list : 2

If you wish to add m ore data on the list enter 1 : 1

Enter the element in the list : 3

If you wish to add m ore data on the list enter 1 : 1

Enter the element in the list : 4

If you wish to add m ore data on the list enter 1 : 1

Enter the element in the list : 1

If you wish to add m ore data on the list enter 1 : 0

Enter the data to find it's occurrence : 1

1 occurred 2 times in the list

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now