Sunday, 21 April 2019

To implement binary search tree using linked list.

//To implement binary search tree using linked list.
#include<stdio.h>
int count = 0;
typedef struct Btree{
     int data;
     struct Btree *left;
     struct Btree *right;
};
struct Btree* insert(struct Btree *bt,int n){
    if(bt==NULL){
         bt= (struct Btree *) malloc(sizeof(struct Btree));
         bt->data=n;
         bt->left=NULL;
         bt->right=NULL;
    }
     else if(n<=bt->data)
     bt->left = insert(bt->left,n);
     else
     bt->right = insert(bt->right,n);
     return bt;
}

int searchElement(struct Btree *bt,int item){
    if(bt!=NULL){
         count++;
         if(item<bt->data)
         searchElement(bt->left,item);
         else if(item>bt->data)
         searchElement(bt->right,item);
         else if(item == bt->data)
         return count;
    }
    else{
        return 0;
    }
}
int main(){
     struct Btree *bt;
     int loc;
     bt=NULL;
     int item;
     while(1){
        count = 0;
        printf("which operation you want to perform....\n");
        printf("1. Insert an element.\n");
        printf("2. Search an element.\n");
        int op;
        int sEle;
        scanf("%d",&op);
        switch(op){
        case 1:
             printf("Enter a number.\n");
             scanf("%d",&item);
             bt = insert(bt,item);
             break;
        case 2:
             printf("Enter an number for search.");
             scanf("%d",&sEle);
             loc = searchElement(bt,sEle);
            if(loc==0)
                printf("Element not found.");
            else
                printf("element found at %d ",loc);
                printf("\n");
            break;
        default:
            printf("Please choose correct option...\n\n");
        }
     }
}

Binary Tree using link list in c programming.


#include<stdio.h>

typedef struct Btree{
    int data;
    struct Btree *left;
    struct Btree *right;
};

struct Btree insert(struct Btree *bt,int n){
    if(bt==NULL){
        bt= (struct Btree *) malloc(sizeof(struct Btree));
        bt->data=n;
        bt->left=NULL;
        bt->right=NULL;
    }
    else if(n<= bt->data)
        bt->left = insert(bt->left,n);
    else
        bt->right = insert(bt->right,n);
    return bt;
}

void preorderTravasal(struct Btree *bt){
    if(bt){
        printf("%d,",bt->data);
        preorderTravasal(bt->left);
        preorderTravasal(bt->right);
    }
    return;
}

void inorderTravasal(struct Btree *bt){
    if(bt){
        inorderTravasal(bt->left);
        printf("%d,",bt->data);
        inorderTravasal(bt->right);
    }
    return;
}

void postorderTravasal(struct Btree *bt){
    if(bt){
        postorderTravasal(bt->left);
        postorderTravasal(bt->right);
        printf("%d,",bt->data);
    }
    return;
}

int main(){
    struct Btree *bt;
    bt=NULL;
    int item;

    while(1){
        printf("which operation you want to perform....\n");
        printf("1. Insert an element.\n");
        printf("2. preOrder Traversal\n");
        printf("3. InOrder Traversal\n");
        printf("4. postOrder Traversal\n");

        int op;

        scanf("%d",&op);
        switch(op){
        case 1:
            printf("Enter a number.\n");
            scanf("%d",&item);
            bt = insert(bt,item);
            break;
        case 2:
            preorderTravasal(bt);
            break;
        case 3:
            inorderTravasal(bt);
            break;
        case 4:
            postorderTravasal(bt);
            break;
        default:
            printf("Please choose correct option...\n\n");
        }
    }
}

Friday, 19 April 2019

Program to print day on the date given as input.

#include<stdio.h>
#include<conio.h>

struct date{
    int day,mon,year;
}dat;

int main(){
    int y,f,o_day,od_temp,i,temp,c,o_year,l_year;

    while(1){
        y=0,o_day=0,od_temp=0;temp=0;
        printf("Enter Date (dd/mm/yyyy): ");
        scanf("%d/%d/%d",&dat.day,&dat.mon,&dat.year);

        f=dat.year%4==0 ? 29:28;
        int d[12]={31,f,31,30,31,30,31,31,30,31,30,31};

        while(temp<=dat.year)
            temp+=400;
        if(temp>dat.year)
            temp-=400;
        dat.year-=temp;

        c=(dat.year-dat.year%100)/100;
        od_temp=5*c+c/4;
        od_temp%=7;

        y=dat.year%100-1;
        l_year=y/4;
        o_year=y-l_year;
        od_temp+=(2*l_year+o_year);
        od_temp%=7;

        temp=0;
        for(i=0;i<dat.mon-1;i++)
            temp+=d[i];
        temp+=dat.day;

        od_temp+=temp%7;
        o_day=od_temp%7;

        switch(o_day){
        case 1:
            printf("Monday");
            break;
        case 2:
            printf("Tuesday");
            break;
        case 3:
            printf("Wednesday");
            break;
        case 4:
            printf("Thusday");
            break;
        case 5:
            printf("Friday");
            break;
        case 6:
            printf("Saturday");
            break;
        case 0:
            printf("Sunday");
            break;
        }
        printf("\n\n");
    }
}

Popular Posts