Val_Kir

Вставка, пузырек, выбор

Dec 8th, 2016
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.34 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4.  
  5. void vstavka(int n,int a[])
  6. {
  7.     int c,i,j,b[10000];
  8.     for (i=0;i<n;i++) b[i]=a[i];
  9.     for (i=0;i<n;i++)
  10.     {
  11.         c=b[i];
  12.         for (j=i-1;(j>=0)&&(c<b[j]);j--)
  13.             b[j+1]=b[j];
  14.         b[j+1]=c;
  15.     }
  16.     printf ("\n vstavka: \n");
  17.     for (i=0;i<n;i++) printf ("%d ",b[i]);
  18. }
  19.  
  20. void puzr(int n,int a[])
  21. { int i,c,j,b[10000];
  22. printf("\n");
  23. for (i=0;i<n;i++) b[i]=a[i];
  24.  
  25. for (i=0;i<n-1;i++)
  26. for (j=0;j<n-1;j++)
  27. { if (b[j]>b[j+1]) {c=b[j]; b[j]=b[j+1]; b[j+1]=c;}
  28. }
  29. printf ("\n puzr: \n");
  30. for (i=0;i<n;i++) printf ("%d ",b[i]);
  31. }
  32.  
  33. void vbr (int n,int a[])
  34. { int c,i,j,b[10000],p,min;
  35. for (i=0;i<n;i++) b[i]=a[i];
  36. for (i=0;i<n;i++)
  37. {min=b[i];
  38. c=i;
  39. for (j=i+1;j<n;j++)
  40. { if (b[j]<min)
  41. { min=b[j];
  42. c=j;
  43. }
  44. }
  45. p=b[i];
  46. b[i]=min;
  47. b[c]=p;
  48. }
  49. printf ("\n vbr: \n");
  50. for (i=0;i<n;i++) printf ("%d ",b[i]);
  51. }
  52.  
  53. void main ()
  54. { const int n=10;
  55. int a[n],t,i;
  56. clock();
  57. clock_t t1,t2;
  58. srand(time(0));
  59. for (i=0;i<n;i++)
  60. { a[i]=rand()%10; printf("%d ",a[i]);
  61. }
  62.  
  63. t1=clock();
  64. vstavka(n,a);
  65. t2=clock();
  66. printf("\n\n");
  67. printf("vstavka t= %d",(t2-t1));
  68. printf("\n\n");
  69.  
  70. t1=clock();
  71. puzr(n,a);
  72. t2=clock();
  73. printf("\n\n");
  74. printf("puzr t= %d",(t2-t1));
  75. printf("\n\n");
  76.  
  77. t1=clock();
  78. vbr(n,a);
  79. t2=clock();
  80. printf("\n\n");
  81. printf("vbr t= %d",(t2-t1));
  82. printf("\n\n");
  83.  
  84. printf("\n\n");
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment