Sorting Programs
Sorting Programs
SORTING TECHNIQUES
#include<stdio.h>
#include<conio.h>
display(int [],int );
main()
int a[50],n;
clrscr();
n=readf(a);
selectionsort(a,n);
display(a,n);
getch();
int i,n;
printf("size of an array:");
scanf("%d",&n);
1
Programs on various Searching & Sorting Techniques
for(i=0;i<n;i++)
scanf("%d",&a[i]);
return n;
int pass,min_index,i,temp;
for(pass=0;pass<n-1;pass++)
min_index=pass;
for(i=pass+1;i<n;i++)
if(a[i]<a[min_index])
min_index=i;
if(min_index!=pass)
temp=a[pass];
a[pass]=a[min_index];
a[min_index]=temp;
2
Programs on various Searching & Sorting Techniques
int i;
for(i=0;i<n;i++)
printf("%d\t",a[i]);
3
Programs on various Searching & Sorting Techniques
#include<stdio.h>
#include<conio.h>
display(int [],int );
main()
int a[50],n;
clrscr();
n=readf(a);
bubblesort(a,n);
display(a,n);
getch();
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
4
Programs on various Searching & Sorting Techniques
scanf("%d",&a[i]);
return n;
int last,exchg,pass,temp,i;
last=n-1;
for(pass=0;pass<n-1;pass++)
exchg=0;
for(i=0;i<last;i++)
if(a[i]>a[i+1])
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
exchg+=1;
if(exchg==0)
return;
else
5
Programs on various Searching & Sorting Techniques
last=last-1;
display(int a[],int n)
int i;
for(i=0;i<n;i++)
printf("%d\t",a[i]);
6
Programs on various Searching & Sorting Techniques
#include<stdio.h>
#include<conio.h>
display(int [],int );
main()
int a[50],n;
clrscr();
n=readf(a);
insertionsort(a,n);
display(a,n);
getch();
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
7
Programs on various Searching & Sorting Techniques
return n;
int i,j,index;
for(i=1;i<n;i++)
index=a[i], j=i;
while((j>0)&&(a[j-1]>index))
a[j]=a[j-1];
j-=1;
a[j]=index;
display(int a[],int n)
int i;
for(i=0;i<n;i++)
printf("%d\t",a[i]);
8
Programs on various Searching & Sorting Techniques
#include<stdio.h>
#include<conio.h>
main()
int a[50],b[50],c[50],n,k,m;
clrscr();
n=readf1(a);
m=readf2(b);
k=m+n;
mergesort(a,n,b,m,c);
display(c,k);
getch();
int i,n;
scanf("%d",&n);
9
Programs on various Searching & Sorting Techniques
for(i=0;i<n;i++)
scanf("%d",&a[i]);
return n;
int i,m;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&b[i]);
return m;
int i,j,k;
i=0;j=0;k=0;
while((i<n)&&(j<m))
if(a[i]<=b[j])
10
Programs on various Searching & Sorting Techniques
c[k]=a[i];
i++;
k++;
else
c[k]=b[j];
j++;
k++;
while(j<m)
c[k]=b[j];
j++;
k++;
while(i<n)
c[k]=a[i];
i++;
11
Programs on various Searching & Sorting Techniques
k++;
int i;
for(i=0;i<k;i++)
printf("%d\t",c[i]);
12
Programs on various Searching & Sorting Techniques
#include<stdio.h>
#include<conio.h>
display(int [],int );
main()
int a[50],n,lb,ub;
clrscr();
n=readf(a);
lb=0;
ub=n-1;
quicksort(a,lb,ub);
display(a,n);
getch();
int i,n;
scanf("%d",&n);
13
Programs on various Searching & Sorting Techniques
for(i=0;i<n;i++)
scanf("%d",&a[i]);
return n;
int i,j,pivot,temp,temp1;
if(lb<ub)
i=lb;
j=ub;
pivot=a[lb];
while(1)
while(a[i]<=pivot)
i++;
while(a[j]>pivot)
j--;
if(i<j)
temp=a[i];
a[i]=a[j];
a[j]=temp;
14
Programs on various Searching & Sorting Techniques
else
break;
if(i>=j)
temp1=a[j];
a[j]=a[lb];
a[lb]=temp1;
quicksort(a,lb,j-1);
quicksort(a,j+1,ub);
display(int a[],int n)
int i;
for(i=0;i<n;i++)
printf("%d\t",a[i]);
15
Programs on various Searching & Sorting Techniques
SEARCHING TECHNIQUES
#include<stdio.h>
#include<conio.h>
main()
int i,pos,n,key,a[100];
clrscr();
scanf("%d",&n);
scanf("%d",&key);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
pos=-1;
pos=linserch(a,n,key);
if(pos!=-1)
16
Programs on various Searching & Sorting Techniques
else
getch();
int i;
for(i=1;i<=n;i++)
if(key==a[i])
return i;
return -1;
17
Programs on various Searching & Sorting Techniques
#include<stdio.h>
#include<conio.h>
int a[500],n,key,low,high;
int main()
int i,pos=-1;
clrscr();
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&key);
bubblesort(a,n);
18
Programs on various Searching & Sorting Techniques
low=0;
high=n-1;
pos=b_search(a,n,key,low,high);
if(pos!=-1)
else
getch();
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
if(a[i]>a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp;
19
Programs on various Searching & Sorting Techniques
for(i=0;i<n;i++)
printf("%d\t",a[i]);
printf("\n");
int mid,pos=-1;
if(low<=high)
mid=(int)((low+high)/2);
if(key==a[mid])
return mid;
if(key<a[mid])
pos=b_search(a,n,key,low,mid-1);
else if(key>a[mid])
pos=b_search(a,n,key,mid+1,high);
return pos;
20
Programs on various Searching & Sorting Techniques
21