Insertion At Location in Circular linked list

C function for insertion at given Location

void insert_location(struct link *node)
{
	int node_no=1,insert_no,flag=0,count;
	node=start->next;
	ptr=start;
	count=i;
	printf("\n Enter position where you want to insert new node:-");
	scanf("%d",&insert_no);

	while(count)
	{
		if(node_no==insert_no)
		{
			new1=(struct link *)malloc(sizeof(struct link));
			printf("\n Insert data for new node:-");
			scanf("%d",&new1->data);
			ptr->next=new1;
			new1->next=node;
			flag=1;
			break;
		}
		else
		{
			ptr=ptr->next;
			node=node->next;
		}
		node_no++;
		count--;
	}
	if(flag==0)
	{
		printf("\n Position not found");
	}
	else
	{
		i++;
    }
}






C programe for insertion at given Location in Circular linked list

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct link
{
	int data;
	struct link *next;
};
int i=0;
struct link *node,*start,*ptr,*new1;

void create_link(struct link *node)
{
	char ch;
	start->next=NULL;
	node=start;
	fflush(stdin);
	printf("\n Enter 'n' for break:");
	ch=getchar();
	while(ch!='n')
	{
		node->next=(struct link *)malloc(sizeof(struct link));
		node=node->next;

		printf("\n Enter data for node:");
		scanf("%d",&node->data);
		node->next=start;
		fflush(stdin);
		printf("\n Enter 'n' for break:");
		ch=getchar();
		i++;
	}
}
void insert_location(struct link *node)
{
	int node_no=1,insert_no,flag=0,count;
	node=start->next;
	ptr=start;
	count=i;
	printf("\n Enter position where you want to insert new node:-");
	scanf("%d",&insert_no);

	while(count)
	{
		if(node_no==insert_no)
		{
			new1=(struct link *)malloc(sizeof(struct link));
			printf("\n Insert data for new node:-");
			scanf("%d",&new1->data);
			ptr->next=new1;
			new1->next=node;
			flag=1;
			break;
		}
		else
		{
			ptr=ptr->next;
			node=node->next;
		}
		node_no++;
		count--;
	}
	if(flag==0)
	{
		printf("\n Position not found");
	}
	else
	{
		i++;
    }
}

void display(struct link *node)
{
	int count;
	node=start->next;
	count=i;

	while(count)
	{
		printf("\t%d",node->data);
		node=node->next;
		count--;
	}
}

void main()
{
	char ch;
	clrscr();
	create_link(node);
	insert_location(node);
	printf("List Item Are:\n");
	display(node);
	getch();
}

Output






Quantitative Aptitude
Reasoning
Programming
Interview