Advertisement
Guest User

try12

a guest
Nov 27th, 2015
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1.  
  2. #include<stdio.h>
  3. #include<time.h>
  4. #define MAX 50
  5.  
  6. void mergeSort(int arr[],int low,int mid,int high);
  7. void partition(int arr[],int low,int high);
  8. int quick(int array[20], int f, int l);
  9. void insertion(int a[], int s);
  10. int main(){
  11.  
  12. int SORT[50],i,n;
  13.  
  14. printf("\nEnter the total number of elements: ");
  15. scanf("%d",&n);
  16.  
  17. printf("\nthe elements which to be sort: ");
  18. for(i=0;i<n;i++)
  19. {
  20. SORT[i]= rand() %100;
  21. printf("%d\t", SORT[i]);
  22. }
  23.  
  24. double total_time;
  25. clock_t start, end;
  26.  
  27. start = clock();//time count starts
  28.  
  29. srand(time(NULL));
  30. //quick(SORT,0,n-1);
  31. //partition(SORT,0,n-1);
  32.  
  33. insertion(SORT,n);
  34.  
  35. printf("\nAfter merge sorting elements are: ");
  36. for(i=0;i<n;i++){
  37. printf("%d\t ",SORT[i]);
  38. }
  39. //printf("\nAfter quick sorting elements are: ");
  40. //for(i=0;i<n;i++){
  41. // printf("%d\t ",SORT[i]);
  42. //}
  43. printf("\nAfter insertion sorting elements are: ");
  44. for(i=0;i<n;i++){
  45. printf("%d\t ",SORT[i]);
  46. }
  47.  
  48. end = clock();//time count stops
  49. total_time = ((double) (end - start)) / CLK_TCK;//calulate total time
  50. printf("\nTime taken to print : %f", total_time);
  51.  
  52. /* partition(SORT,0,n-1);
  53.  
  54. insertion(SORT,n);
  55.  
  56. printf("\nAfter merge sorting elements are: ");
  57. for(i=0;i<n;i++){
  58. printf("%d\t ",SORT[i]);
  59. }
  60. printf("\nAfter quick sorting elements are: ");
  61. for(i=0;i<n;i++){
  62. printf("%d\t ",SORT[i]);
  63. }
  64. printf("\nAfter insertion sorting elements are: ");
  65. for(i=0;i<n;i++){
  66. printf("%d\t ",SORT[i]);
  67. }
  68. */
  69.  
  70.  
  71.  
  72. return 0;
  73. }
  74.  
  75. /*void partition(int arr[],int low,int high){
  76.  
  77. int mid;
  78.  
  79. if(low<high){
  80. mid=(low+high)/2;
  81. partition(arr,low,mid);
  82. partition(arr,mid+1,high);
  83. mergeSort(arr,low,mid,high);
  84. }
  85. }
  86.  
  87. void mergeSort(int arr[],int low,int mid,int high){
  88.  
  89. int i,m,k,l,temp[50];
  90.  
  91. l=low;
  92. i=low;
  93. m=mid+1;
  94.  
  95. while((l<=mid)&&(m<=high)){
  96.  
  97. if(arr[l]<=arr[m]){
  98. temp[i]=arr[l];
  99. l++;
  100. }
  101. else{
  102. temp[i]=arr[m];
  103. m++;
  104. }
  105. i++;
  106. }
  107.  
  108. if(l>mid){
  109. for(k=m;k<=high;k++){
  110. temp[i]=arr[k];
  111. i++;
  112. }
  113. }
  114. else{
  115. for(k=l;k<=mid;k++){
  116. temp[i]=arr[k];
  117. i++;
  118. }
  119. }
  120.  
  121. for(k=low;k<=high;k++){
  122. arr[k]=temp[k];
  123. }
  124. }
  125. int quick(int array[20], int f, int l)
  126. {
  127. int i,j,temp;
  128. if(f<l)
  129. {
  130.  
  131. i=f+1;
  132. j=l;
  133. while(i<j)
  134. {
  135.  
  136.  
  137. while(array[i]<array[j])
  138. {
  139. i++;
  140.  
  141. }
  142. while(array[j]>array[f])
  143. {
  144. j--;
  145. }
  146. if(i<j)
  147. {
  148. temp=array[i];
  149. array[i]=array[j];
  150. array[j]=temp;
  151. }
  152. }
  153. temp=array[f];
  154. array[f]=array[j];
  155. array[j]=temp;
  156. quick(array,f,j-1);
  157. quick(array,j+1,l);
  158.  
  159.  
  160.  
  161.  
  162.  
  163. }
  164.  
  165. }*/
  166. void insertion(int a[], int s)
  167. {
  168. int i,j,x,temp,arr[20];
  169. for(i=1;i<s;i++){
  170. temp=a[i];
  171. j=i-1;
  172. while((temp<a[j])&&(j>=0)){
  173. a[j+1]=a[j];
  174. j=j-1;
  175. }
  176. a[j+1]=temp;
  177. }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement