delete from last position (last element) | SLL | C Program
#include<stdio.h>
#include<stdlib.h> 
struct node
{
    int data;
    struct node *next;
};
struct node *start=NULL;
main()
{
    int i,value,ne;  // ne=Number of element in list, pos= position
    struct node *n,*temp,*del;
    n=malloc(sizeof(struct node));
    printf("\n\n\tHow many value do you want to Enter in List: ");
    scanf("%d",&ne);
    printf("\nEnter first data for list: ");
    scanf("%d",&value);
    n->data=value;
    n->next=NULL;
    start=n;
    for(i=2;i<=ne;i++)
    {
        n=malloc(sizeof(struct node));
        printf("Enter next data: ");
        scanf("%d",&value);
        n->data=value;
        n->next=NULL;
        temp=start;
        while(temp->next!=NULL)
            temp=temp->next;
        temp->next=n;
    }
    if(start==NULL)   // for display
        printf("\n\t** List is empty **");
    else
    {
        temp=start;
        printf("\n\tData in the List: ");
        while(temp!=NULL)
        {
            printf("%d\t",temp->data);
            temp=temp->next;
        }
    }
    //for Deleting at last position
    temp=start;
    while(temp->next->next!=NULL)
        temp=temp->next;
    del=temp->next;
    temp->next=NULL;
    free(del);
    if(start==NULL)   // for display
        printf("\n\t** List is empty **");
    else
    {
        temp=start;
        printf("\n\n\t** Last element deleted successfully **");
        printf("\n\n\tUpdated List:  ");
        while(temp!=NULL)
        {
            printf("%d\t",temp->data);
            temp=temp->next;
        }
    }
    getch();
}
OUTPUT:
 
0 Comments
Please do not enter any spam link in the comment box.