Showing posts with label sort. Show all posts
Showing posts with label sort. Show all posts

Tuesday, 29 September 2015

Write a C Program To perform Heap Sort in Data Structure(Sorting Techniques)

1:  #include<stdio.h>  
2:  #include<conio.h>  
3:  void heapsort(int a[50], int n);  
4:  void heapify(int[], int);  
5:  void adjust(int[], int);  
6:  void main()  
7:  {  
8:   int a[50],n,i;  
9:   clrscr();  
10:   printf("Enter the no. of elements to be sorted:\n");  
11:   scanf("%d",&n);  
12:   printf("Enter the elements:\n");  
13:   for(i=0;i<n;i++)  
14:   {  
15:   scanf("%d",&a[i]);  
16:   }  
17:   printf("\nArray elements before Heapsort:\n");  
18:   for(i=0;i<n;i++)  
19:   {  
20:   printf("%d\t",a[i]);  
21:   }  
22:   heapsort(a,n);  
23:   printf("\nArray elements after Heapsort:\n");  
24:   for(i=0;i<n;i++)  
25:   {  
26:   printf("%d\t",a[i]);  
27:   }  
28:   getch();  
29:  }  
30:  void heapsort(int a[50], int n)  
31:  {  
32:   int i,t;  
33:   heapify(a,n);  
34:   for(i=n-1;i>0;i--)  
35:   {  
36:   t=a[0];  
37:   a[0]=a[i];  
38:   a[i]=t;  
39:   adjust(a,i);  
40:   }  
41:  }  
42:  void heapify(int a[50], int n)  
43:  {  
44:   int item,i,j,k;  
45:   for(k=1;k<n;k++)  
46:   {  
47:   item=a[k];  
48:   i=k;  
49:   j=(i-1)/2;  
50:   while((i>0) && (item>a[j]))  
51:   {  
52:    a[i] = a[j];  
53:    i=j;  
54:    j=(i-1)/2;  
55:   }  
56:   a[i]=item;  
57:   }  
58:  }  
59:  void adjust(int a[50], int n)  
60:  {  
61:   int item,i,j;  
62:   j=0;  
63:   item=a[j];  
64:   i=2*j+1;  
65:   while(i<=n-1)  
66:   {  
67:   if(i+1<=n-1)  
68:   if(a[i]<a[i+1])  
69:   i++;  
70:   if(item<a[i])  
71:   {  
72:    a[j]=a[i];  
73:    j=i;  
74:    i=2*j+1;  
75:   }  
76:   else  
77:   break;  
78:   }  
79:   a[j]=item;  
80:  }  

Write a C rogram To Perform Bubble Sort using Insertion Of Numbers

1:  #include<stdio.h>  
2:  #include<conio.h>  
3:  #include<stdlib.h>  
4:  #define MAX 5  
5:  void main()  
6:  {  
7:   int i,hold,pass,a[MAX];  
8:   clrscr();  
9:   printf("Enter the numbers:\n");  
10:   for(i=0;i<=MAX-1;i++)  
11:   {  
12:   scanf("%d",&a[i]);  
13:   }  
14:   printf("\n");  
15:   printf("Array in sorted order is:\n");  
16:   for (pass=1;pass<MAX;pass++)  
17:   {  
18:   for (i=0;i<=MAX-pass;i++)  
19:   {  
20:    if (a[i]>a[i+1])   
21:    {   
22:    hold=a[i];  
23:    a[i]=a[i+1];  
24:    a[i+1]=hold;  
25:    }  
26:   }  
27:   }  
28:   for(i=0;i<=MAX-1;i++)  
29:   {  
30:   printf("%d\t",a[i]);  
31:   }  
32:   getch();  
33:  }