Skip to main content

Basic Link List Operations

//Basic Link List Operation
#include<stdio.h>
#include<malloc.h>
typedef struct list
{
    int data;
    struct list *next;
}node;
int count=0;
node *START=NULL;

insert(int i)
{
    node *tmp,*q;
    tmp=(node*)malloc(sizeof(node));
    tmp->next=NULL;
    tmp->data=i;
    if(START==NULL)
    {
        START=tmp;
        count++;
    }else
        {
            q=START;
            while(q->next!=NULL)
            {
                q=q->next;
            }
            q->next=tmp;
            count++;
        }
}

display()
{
    node *q;
    if(START==NULL)
    {
        printf("\nList IS Empty");
    }else
        {
            q=START;
            while(q!=NULL)
            {
                printf("\t%d",q->data);
                q=q->next;
            }
        }
   
}

int search(int i)
{
    int flag=0;
    node *q;
    if(START==NULL)
    {
        printf("\nList IS Empty");
    }else
        {
            q=START;
            while(q!=NULL)
            {
                if(q->data==i)
                {
                    flag=1;
                }
                printf("\t%d",q->data);
                q=q->next;
            }
        }
return flag;
}

int delete(int i)
{
    int flag=0;
    node *q;
    if(START==NULL)
    {
        printf("\nList IS Empty");
    }else
        {
            q=START;
            if(q->data==i)
            {
                START=q->next;
                flag=1;
                count--;
            }
            q=START;
            while(q->next->next!=NULL)
            {
                if(q->next->data==i)
                {
                    q->next=q->next->next;               
                    flag=1;
                    count--;
                }
                q=q->next;
            }
            if(q->next->data==i)
            {
                q->next=NULL;
                flag=1;
                count--;
            }
        }
return flag;
}

int main()
{
    int ch,f=0;
    //clrscr();//Optional
    while(f<=1)
    {
        printf("\n1. INSERT VALUE\n2. DISPLAY \n3. SEARCH\n4. DELETE\n5. COUNT");
        scanf("%d",&ch);
        switch(ch)
        {
            case 1:
                printf("\nEnter Element");
                scanf("%d",&ch);
                insert(ch);
                //getch(); //Optional
                break;
            case 2:
                display();
                //getch();//Optional
                break;
            case 3:
                printf("\nEnter Element to SEARCH");
                scanf("%d",&ch);
                if(search(ch)==1)
                {
                    printf("\nRecord Found");
                }else
                    {
                        printf("\nRecord not found");
                    }
                break;
                //getch(); //Optional
            case 4:
                printf("\nEnter Element to DELETE");
                scanf("%d",&ch);
                if(delete(ch)==1)
                {
                    printf("\nRecord(s) Deleted");
                }else
                    {
                        printf("\nRecord not found");
                    }
                break;
                //exit();//Optional
            case 5:
                printf("No of records :: %d",count);
                break;
            default:
                printf("\nWrong Input");
        }
    }
}

Comments

Popular posts from this blog

Sample : String Reverse In Java

import java.io.*; class test {     public static void main(String args[])     {         DataInputStream in=new DataInputStream(System.in);         try         {             String text;             System.out.println("\nEnter The Text");             text=in.readLine();             System.out.println("\nIn Reverse Order::\n");             for(int i=text.length()-1;i>=0;i--)             {                 System.out.print(text.charAt(i));             }          ...

Using GREP in UNIX

How To Use grep Command In Linux / UNIX by  VIVEK GITE  on  AUGUST 2, 2007  ·  147 COMMENTS H ow do I use grep command in Linux? grep command searches the given file for lines containing a match to the given strings or words. By default, grep prints the matching lines. Use grep to search for lines of text that match one or many regular expressions, and outputs only the matching lines. The name, "grep", derives from the command used to perform a similar operation, using the Unix/Linux text editor ed: g/re/p grep command syntax grep 'word' filename grep 'string1 string2' filename cat otherfile | grep 'something' command | grep 'something' Use grep to search file Search /etc/passwd for boo user: $ grep boo /etc/passwd You can force grep to ignore word case i.e match boo, Boo, BOO and all other combination with -i option: $ grep -i "boo" /etc/passwd Use grep recursively You can search recursively i.e. read all files under each ...