Professional Documents
Culture Documents
#include<stdio.h>
#include<conio.h>
#define MAX 20
int main()
{ int a[MAX],temp[MAX],i,j,k,n,size,l1,h1,l2,h2;
scanf ("%d",&n);
for (i=0;i<n;i++)
scanf ("%d",&a[i]);
printf("%d", a[i]);
{ l1 = 0;
k = 0;
{ h1=l1+size-1;
l2=h1+1;
h2=l2+size-1;
if ( h2>=n )
h2=n-1;
i=l1;
2
j=l2;
{ if ( a[i] <= a[ j] )
temp[k++]=a[i++];
else
temp[k++]=a[ j++];
} while(i<=h1)
temp[k++]=a[i++];
while( j<=h2)
temp[k++]=a[ j++];
l1 = h2+1;
temp[k++]=a[i];
for(i=0;i<n;i++)
a[i]=temp[i];
return 0;
}
3
/* BUBBLE SORT */
#include<stdio.h>
#include<conio.h>
#define MAXSIZE 50
{ int i,j,tmp;
for(i=0;i<n;i++)
{ for(j=0;j<n-1;j++)
{ if(x[j]>x[j+1])
{ tmp=x[j];
x[j]=x[j+1];
x[j+1]=tmp; }}}
}int main()
{ int x[MAXSIZE],n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&x[i]);
bubble(x,n);
for(i=0;i<n;i++)
printf("\n%d",x[i]);
4
return 0;
INSERTION SORT
#include<stdio.h>
#include<conio.h>
{ int i,j,temp;
for(i=0;i<n;i++)
{ temp=x[i];
for(j=i-1;j>=0;j--)
{ if(temp<x[j])
x[j+1]=x[j];
else
} x[j+1]=temp;
}} int main()
{ int x[10],n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&x[i]);
insertion(x,n);
for(i=0;i<n;i++)
5
printf("\n%d",x[i]);
return 0; }
/* Selection Sort */
#include<stdio.h>
#include<conio.h>
#define MAXSIZE 50
{ int i, j, larg,pos,c=0;
larg = x[0];
pos = 0;
{ c++;
larg = x[j];
pos = j;
}} x[pos] = x[i];
x[i] = larg; }
} int main()
{ int x[MAXSIZE],n, i;
scanf("%d",&n);
scanf("%d",&x[i]);
} selection(x, n);
MAX-HEAPIFY
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<malloc.h>
#include<dos.h>
#include<time.h>
void main()
{ clock_t start,end;
scanf("%d", &no);
start = clock();
{ *(p+i)=rand();
7
{ c = i;
do
{ root = (c - 1) / 2;
{ temp = heap[root];
heap[root] = heap[c];
heap[c] = temp;
{ c = root;
} while (c != 0);
{ temp = heap[0];
heap[0] = heap[j];
heap[j] = temp;
root = 0;
do
{ c = 2 * root + 1;
c++;
{ temp = heap[root];
8
heap[root] = heap[c];
heap[c] = temp;
{ root = c;
end = clock();
return 0;
HEAP-SORT
#include<stdio.h>
#include<conio.h>
int a[20],n;
void display()
{ int i;
for(i=0;i<n;i++)
printf ("%d",a[i]);
printf ("\n");
{ int parent;
while(loc>0)
{ parent=(loc-1)/2;
9
if (num<=a[parent])
{ a[loc]=num;
return;
} a[loc]=a[parent];
loc=parent;
} a[0]=num;
} void create_heap()
{ int i;
for(i=0;i<n;i++)
insert(a[i],i);
{ int left,right,i,temp;
i=0;
temp=a[i];
a[i]=a[last];
a[last]=temp;
left=2*i+1;
right=2*i+2;
return;
if ( a[right]<=a[left] )
{ temp=a[i];
a[i]=a[left];
10
a[left]=temp;
i=left;
} else
{ temp=a[i];
a[i]=a[right];
a[right]=temp;
i=right;
} left=2*i+1;
right=2*i+2;
{ temp=a[i];
a[i]=a[left];
a[left]=temp;
}} void heap_sort()
{ int last;
del_root(last);
} int main()
{ int i;
scanf ("%d",&n);
for(i=0;i<n;i++)
scanf ("%d",&a[i]);
11
display();
create_heap();
display();
heap_sort();
display();
return 0;
LAB – 7
#include <stdio.h>
int array[100], n;
int main()
n = 0;
while(1)
printf("4.Quit \n");
scanf("%d", &choice);
switch(choice)
12
{ case 1:
scanf("%d", &num);
insert(num, n);
n = n + 1;
break;
case 2:
scanf("%d", &num);
delete(num);
break;
case 3:
display();
break;
case 4:
exit(0);
default:
}} return 0;
} display()
{ int i;
if (n == 0)
return;
13
printf("\n");
{ int parentnode;
{ array[location] = num;
return;
} array[location] = array[parentnode];
location = parentnode;
} array[0] = num;
} delete(int num)
if (num == array[i])
break;
{ if (num != array[i])
return;
n = n - 1;
parentnode =(i - 1) / 2;
14
{ insert(array[i], i);
return;
} left = 2 * i + 1;
right = 2 * i + 2;
return;
{ temp = array[i];
array[i] = array[left];
array[left] = temp;
i = left;
{ else
{ temp = array[i];
array[i] = array[right];
array[right] = temp;
i = right;
{ left = 2 * i + 1;
right = 2 * i + 2;
temp = array[i];
array[i] = array[left];
array[left] = temp;
15
return 0;
}}
COUNTING – SORT
#include <stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<dos.h>
#include<time.h>
{ int i, j;
C[i] = 0;
C[A[j]] = C[A[j]] + 1;
{ B[C[A[j]]] = A[j];
C[A[j]] = C[A[j]] - 1;
counting_sort(A, k, n);
printf("\n");
} int main()
{ clock_t start,end;
int n, k = 0, A[15], i;
scanf("%d", &n);
start = clock();
{ scanf("%d", &A[i]);
if (A[i] > k) {
k = A[i];
}} end = clock();
BUCKET – SORT
#include <stdio.h>
{ int i, j;
int count[n];
count[i] = 0;
(count[array[i]])++;
array[j++] = i;
} int main()
scanf("%d", &num);
scanf("%d", &array[i]);
Bucket_Sort(array, num);
printf("\n"); }