Bubble Sort
Bubble Sort
#include<stdio.h>
#include<time.h>
#define max 100000
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",rand()%10);
}
printf("%d numbers written to file successfully.",n);
fclose(fp);
fopen("input.txt","r");
for(i=0;i<n;i++)
{
fscanf(fp,"%d",&arr[i]);
}
start=clock();
bubbleSort(arr,n);
end=clock();
fp=fopen("input.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",arr[i]);
}
printf("\nTotal time taken= %f seconds.",(endstart)/CLOCKS_PER_SEC);
printf("\nPress 1 to continue: ");
scanf("%d",&opt);
}
while(opt==1);
return 0;
}
SELECTION SORT:
#include<stdio.h>
#include<time.h>
#define max 100000
main()
{
FILE *fp;
float start,end;
int arr[max],n,i,opt;
do
{
printf("Enter the number of elements: ");
scanf("%d",&n);
fp=fopen("input.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",rand()%100);
}
printf("%d numbers written to file successfully.",n);
fclose(fp);
fopen("input.txt","r");
for(i=0;i<n;i++)
{
fscanf(fp,"%d",&arr[i]);
}
start=clock();
selectionSort(arr,n);
end=clock();
fp=fopen("input.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",arr[i]);
}
printf("\nTotal time taken= %f seconds.",(endstart)/CLOCKS_PER_SEC);
printf("\nPress 1 to continue: ");
scanf("%d",&opt);
}
while(opt==1);
return 0;
}
INSERTION SORT:
#include<stdio.h>
#include<time.h>
# define max 100000
main()
{
FILE *fp;
float start,end;
int arr[max],n,i,opt;
do
{
printf("Enter the number of elements: ");
scanf("%d",&n);
fp=fopen("input.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",rand()%100);
}
printf("%d numbers written to file successfully.",n);
fclose(fp);
fopen("input.txt","r");
for(i=0;i<n;i++)
{
fscanf(fp,"%d",&arr[i]);
}
start=clock();
InsertionSort(arr,n);
end=clock();
fclose(fp);
fp=fopen("output.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",arr[i]);
}
fclose(fp);
printf("\nTotal time taken= %f seconds.",(endstart)/CLOCKS_PER_SEC);
printf("\nPress 1 to continue: ");
scanf("%d",&opt);
}
while(opt==1);
return 0;}
QUICK SORT:
#include<stdio.h>
#include<time.h>
a[j]=pivot;
return j;
}
main()
{
FILE *fp;
float start,end;
int arr[max],n,i,opt;
do
{
printf("Enter the number of elements: ");
scanf("%d",&n);
fp=fopen("input.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",rand()%100);
}
printf("%d numbers written to file successfully.",n);
fclose(fp);
fopen("input.txt","r");
for(i=0;i<n;i++)
{
fscanf(fp,"%d",&arr[i]);
}
start=clock();
QuickSort(arr,0,n-1);
end=clock();
fclose(fp);
fp=fopen("output.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",arr[i]);
}
fclose(fp);
printf("\nTotal time taken= %f seconds.",(endstart)/CLOCKS_PER_SEC);
printf("\nPress 1 to continue: ");
scanf("%d",&opt);
}
while(opt==1);
}
MERGE SORT:
#include<stdio.h>
#include<time.h>
#define max 500000
main()
{
FILE *fp;
float start,end;
int arr[max],n,i,opt;
do
{
printf("Enter the number of elements: ");
scanf("%d",&n);
fp=fopen("input.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",rand()%100);
}
printf("%d numbers written to file successfully.",n);
fclose(fp);
fopen("input.txt","r");
for(i=0;i<n;i++)
{
fscanf(fp,"%d",&arr[i]);
}
start=clock();
MergeSort(arr,0,n-1);
end=clock();
fclose(fp);
fp=fopen("output.txt","w");
for(i=0;i<n;i++)
{
fprintf(fp,"%d ",arr[i]);
}
fclose(fp);
printf("\nTotal time taken= %f seconds.",(end-
start)/CLOCKS_PER_SEC);
printf("\nPress 1 to continue: ");
scanf("%d",&opt);
}
while(opt==1);
}
BINARY SEARCH
#include<stdio.h>
#include<conio.h>
#include<math.h>
void binary(int
binary(a,P,R,n);
}
void binary(int
{
int q,i;
if(P<=R)
{
q=(P+R)/2;
i=check(a,q,n);
if(i==-1)
{
binary(a,P,q-1,n);
}
if(i==1)
{
binary(a,q+1,R,n);
}
}
else
{
printf("\n number not found");
}
}
}
else if(a[q]>n)
{
return(-1);
}
else
{
return(1);
}
}
LINEAR SEARCH
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
void linear(int
void main()
{
clock_t ti;
FILE *fp;
int a[1000],i,P,R,n;
fp=fopen("new.txt","w");
for(i=0;i<1000;i++)
{
n=rand()%1000;
fprintf(fp,"%d\n",n);
}
fclose(fp);
fp=fopen("new.txt","r");
for(i=0;i<1000;i++)
{
fscanf(fp,"%d",&a[i]);
}
fclose(fp);
ti=clock();
P=0;
R=i-1;
linear(a,P,R);
ti=clock()-ti;
double total=((double)ti)/CLOCKS_PER_SEC;
printf("\n%lf",total);
}
void linear(int
a[],int P,int R)
{
int i=0,n,flag=0;