You are on page 1of 15

PANIMALAR ENGINEERING COLLEGE

DEPARTMENTOF CSE

PROGRAM CODING:
#include<stdio.h>
#include<conio.h>

void main()
{
int first, last, middle, size, i, sElement, list[100];
clrscr();
printf("Enter the size of the list: ");
scanf("%d",&size);
printf("Enter %d integer values in Assending order\n", size);
for (i = 0; i< size; i++)
scanf("%d",&list[i]);
printf("Enter value to be search: ");
scanf("%d", &sElement);
first = 0;
last = size - 1;
middle = (first+last)/2;
while (first <= last) {
if (list[middle] <sElement)
first = middle + 1;
else if (list[middle] == sElement) {
printf("Element found at index %d.\n",middle);
break;
}
else
last = middle - 1;
middle = (first + last)/2;
}
if (first > last)
printf("Element Not found in the list.");
getch();
}

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

PROGRAM CODING:
#include <stdio.h>
 void main( )
{
int n, a[ 25 ], i, j, temp;
printf( "Enter number of elements \n" );
scanf( "%d", &n );
  printf( "Enter %d integers \n", n );
  for ( i = 0; i< n; i++ )
scanf( "%d", &a[i] );
for ( i = 0 ; i< n - 1; i++ )
{
j = i + 1;
  while ( j> 0 && a[ j ] < a[ j-1 ])
{
temp = a[ j ];
a[ j ] = a[ j - 1 ];
a[ j - 1 ] = temp;
j --;
}
}
printf( "Sorted list in ascending order: \n ");
for ( i = 0 ; i< n ; i++)
printf( "%d \n ", a[ i ] );
}

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

PROGRAM CODING:
#include <stdio.h>
 void main( )
{
int a [ 100 ] , n , i , j , position , temp ;
  printf( "Enter number of elements \n" ) ;
scanf( "%d", &n ) ;
  printf( " Enter %d integers \n ", n ) ;
  for ( i = 0 ; i< n ; i ++ )
scanf( "%d", & a[ i ] ) ;
  for ( i = 0 ; i< ( n - 1 ) ; i ++ )
{
position = i ;
  for ( j = i + 1 ; j < n ; j ++ )
{
if ( a [ position ] > a [ j ] )
position = j ;
}
if ( position != i )
{
temp = a [ i ] ;
a [ i ] = a [ position ] ;
a [ position ] = temp ;
}
}
  printf( "Sorted list in ascending order: \n ") ;

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

  for ( i = 0 ; i< n ; i ++ )
printf( " %d \n ", a[ i ] ) ;
 }

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

PROGRAM CODING:
#include <stdio.h>
void main( )
{
int a [ 5 ] = { 4, 5, 2, 3, 6 } , i = 0 ;
ShellSort( a, 5 ) ;
printf( " After Sorting :" ) ;
for ( i = 0 ; i< 5 ; i ++ )
printf( " %d ", a[ i ] ) ;
}
void ShellSort (int a [ 5 ] , int n )
{
int i , j , k , temp ;
for ( k = n / 2 ; k > 0 ; k / = 2)
{
for ( i = k ; i< n ; i ++ )
{
temp = a [ i ] ;
for ( j = i ; j > = k && a [ j – k ] > temp ; j = j – k )
{
a[j]=a[j–k];
}
a [ j ] = temp ;
}
}
}

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

PROGRAM CODING:
#include <stdio.h>
#include <conio.h>
void main( )
{
int a [ 20 ], i, j, temp, n ;
printf( "\n Enter the number of elements \t " );
scanf( " %d ", &n );
printf( " \n Enter %d numbers \n " , n );
for ( i = 0 ; i< n ; i++ )
scanf( " %d " , & a [ i ] );
printf (" \n Elements \t " );
for ( i = 0 ; i< n ; i++ )
printf( " %d \t ", a [ i ] );
for ( i = 0 ; i< n - 1 ; i++ )
{
for ( j = 0 ; j < n – i – 1 ; j++ )
{
if ( a [ j ] > a [ j + 1 ] )
{
temp = a [ j ] ;
a[j]=a[j+1];
a [ j+ 1 ] = temp;
}
}
}
printf("\nSorted array\t");
for(i=0;i<n;i++)
printf("%d\t",a[i]);
}

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

PROGRAM CODING:
#include<stdio.h>
#define MAX 5
int q[MAX],front=-1,rear=-1;
void insert_rear();
void insert_front();
void delete_rear();
void delete_front();
void display();
void main()
{
int ch;
while(1)
{
printf("\n1.insert_at_rear\n 2.insert_at_front\n 3.delete_at_rear\n
4.delete_at_front\n 5.display\n 6.exit\n");
printf("enter the choice");
scanf("%d",&ch);
switch(ch)
{
case 1:
insert_rear();
break;
case 2:
insert_front();

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

break;
case 3:
delete_rear();
break;
case 4:
delete_front();
break;
case 5:
display();
break;
case 6:
exit(0);
}}
getch();
}
void insert_rear()
{
int no;
printf("enter a number");
scanf("%d",&no);
if(rear=MAX-1)
{
printf("queue is overflow");
}
else

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

{
if(front==-1)
{
front=0;
}
rear=rear+1;
q[rear]=no;
}}
void insert_front()
{
if(front==0)
printf("cannot add value");
else
{
int no;
printf("enter value to insert");
scanf("%d",&no);
front=front-1;
q[front]=no;
}}
void delete_rear()
{
if(front==-1)
printf("queue is underflow");
else

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

{
printf("deleted element is %d",q[rear]);
rear--;
}}
void delete_front()
{
if(front==-1)
printf("underflow");
else
printf("deleted element is %d",q[front]);
front++;
}
void display()
{
int i;
for(i=front;i<=rear;i++)
{
printf("%d\t",q[i]);
}
}

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

PROGRAM CODING:
#include<stdio.h>

int largest(int a[], int n)


{
    int large = a[0], i;
    for(i = 1; i< n; i++)
    {
        if(large < a[i])
            large = a[i];
    }
    return large;
}
 
// Function to perform sorting
void RadixSort(int a[], int n)
{
    int bucket[10][10], bucket_count[10];
    int i, j, k, remainder, NOP=0, divisor=1, large, pass;
 
    large = largest(a, n);
    printf("The large element %d\n",large);
    while(large > 0)
    {
        NOP++;
        large/=10;
    }
 
    for(pass = 0; pass < NOP; pass++)
    {
        for(i = 0; i< 10; i++)
        {
            bucket_count[i] = 0;
        }
        for(i = 0; i< n; i++)
        {
            remainder = (a[i] / divisor) % 10;
            bucket[remainder][bucket_count[remainder]] = a[i];
            bucket_count[remainder] += 1;
CS8381-DATA STRUCTURE LAB REG NO:
PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

        }
 
        i = 0;
        for(k = 0; k < 10; k++)
        {
            for(j = 0; j <bucket_count[k]; j++)
            {
                a[i] = bucket[k][j];
                i++;
            }
        }
        divisor *= 10;
 
        for(i = 0; i< n; i++)
            printf("%d  ",a[i]);
        printf("\n");
    }
}
 
//program starts here
int main()
{
    int i, n, a[10];
    printf("Enter the number of elements :: ");
    scanf("%d",&n);
    printf("Enter the elements :: ");
    for(i = 0; i< n; i++)
    {
        scanf("%d",&a[i]);
    }
    RadixSort(a,n);
    printf("The sorted elements are ::  ");
    for(i = 0; i< n; i++)
        printf("%d  ",a[i]);
    printf("\n");
    return 0;
}

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

PROGRAM CODING:
/* HASHING - LINEAR AND QUADRATIC PROBING */

#include <stdio.h>
#include <conio.h>
int tsize;
int hasht(int key)
{
int i ;
i = key%tsize ;
return i;
}
//-------LINEAR PROBING-------
int rehashl(int key)
{
int i ;
i = (key+1)%tsize ;
return i ;
}
//-------QUADRATIC PROBING-------
int rehashq(int key, int j)
{
int i ;
i = (key+(j*j))%tsize ;
return i ;
}

int main()
{
int key,arr[20],hash[20],i,n,s,op,j,k ;
printf ("Enter the size of the hash table: ");
scanf ("%d",&tsize);
printf ("\nEnter the number of elements: ");
scanf ("%d",&n);
for (i=0;i<tsize;i++)
hash[i]=-1 ;
printf ("Enter Elements: ");
for (i=0;i<n;i++)
{
CS8381-DATA STRUCTURE LAB REG NO:
PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

scanf("%d",&arr[i]);
}

do
{
printf("\n\n1.Linear Probing\n2.Quadratic Probing \n3.Exit \nEnter
your option: ");
scanf("%d",&op);
switch(op)
{
case 1:
for (i=0;i<tsize;i++)
hash[i]=-1 ;
for(k=0;k<n;k++)
{
key=arr[k] ;
i = hasht(key);
while (hash[i]!=-1)
{
i = rehashl(i);
}
hash[i]=key ;
}
printf("\nThe elements in the array are: ");
for (i=0;i<tsize;i++)
printf("\n Element at position %d: %d",i,hash[i]);
break ;

case 2:
for (i=0;i<tsize;i++)
hash[i]=-1 ;
for(k=0;k<n;k++)
{
j=1;
key=arr[k] ;
i = hasht(key);
while (hash[i]!=-1)
{
i = rehashq(i,j);

CS8381-DATA STRUCTURE LAB REG NO:


PANIMALAR ENGINEERING COLLEGE
DEPARTMENTOF CSE

j++ ;
}
hash[i]=key ;
}
printf("\nThe elements in the array are: ");
for (i=0;i<tsize;i++)
printf("\n Element at position %d: %d",i,hash[i]);
break ;
}
}while(op!=3);
return(1);
}

CS8381-DATA STRUCTURE LAB REG NO:

You might also like