Computer Science, asked by isha3250, 1 year ago

Write a function to remove last node of singly linked list and add it at the beginning of linked list.

Answers

Answered by shivamraj26
1

#include<stdio.h>

#include<conio.h>

struct node

{

int data;

struct node *link;

}*start;

void create(int);

void disp();

void addlf();

void main()

{

int ch,n,i,m,a,pos;

clrscr();

start=NULL;

do

{

printf(“\n\nMENU\n\n”);

printf(“\n1.CREATE\n”);

printf(“\n2.DISPLAY\n”);

printf(“\n3.ADDLF\n”);

printf(“\n4.EXIT\n”);

printf(“\nENTER UR CHOICE\n”);

scanf(“%d”,&ch);

switch(ch)

{

case 1:

printf(“\n\nHOW MANY NODES U WANT TO CREATE\n”);

scanf(“%d”,&n);

for(i=0;i<n;i++)

{

printf(“\nENTER THE DATA”);

scanf(“%d”,&m);

create(m);

}

break;

case 3 :

addlf();

break;

case 2:

disp();

break;

case 4:

exit(0);

}

}

while(ch!=7);

getch();

}

void addlf()

{

struct node *q,*tmp;

q=start;

while(q->link->link!=NULL)

{

q=q->link;

}

tmp=q->link;

q->link=NULL;

tmp->link=start;

start=tmp;

}

void create(int data)

{

struct node *q,*tmp;

tmp=(struct node *)malloc(sizeof(struct node));

tmp->data=data;

tmp->link=NULL;

if(start==NULL)

{

start=tmp;

}

else

{

q=start;

while(q->link!=NULL)

q=q->link;

q->link=tmp;

}

}

void disp()

{

struct node *q;

if(start==NULL)

{

printf(“\n\nLIST IS EMPTY”);

}

else

{

q=start;

while(q!=NULL)

{

printf(“%d->”,q->data);

q=q->link;

}

printf(“NULL”);

Similar questions