Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <time.h>
  4. #include <stdlib.h>
  5.  
  6. #define LENGTH 100000
  7.  
  8.  
  9. int array[LENGTH];
  10.  
  11.  
  12. void init_array(int arr[], int num){
  13. int i;
  14.  
  15. srand(7);
  16.  
  17. for (i = 0; i < num; i++) {
  18.  
  19. arr[i] = 1 + rand() % 100;
  20. }
  21. return;
  22. }
  23.  
  24. void shellsort(int arr[], int num){
  25.  
  26. int i, j, k, tmp;
  27.  
  28. for (i = num / 2; i > 0; i = i / 2) {
  29. for (j = i; j < num; j++) {
  30. for(k = j - i; k >= 0; k = k - i){
  31. if (arr[k+i] >= arr[k])
  32. break;
  33. else
  34. {
  35. tmp = arr[k];
  36. arr[k] = arr[k+i];
  37. arr[k+i] = tmp;
  38. }
  39. }
  40. }
  41. }
  42. }
  43.  
  44. void print_array(){
  45.  
  46.  
  47. for (int i = 0; i < LENGTH; i++) {
  48. printf(" %d",array[i]);
  49. }
  50.  
  51. return;
  52. }
  53.  
  54.  
  55. int main(void){
  56. int processTicks;
  57.  
  58.  
  59.  
  60. init_array(array,LENGTH);
  61.  
  62.  
  63.  
  64. printf("Unsorted Array\n");
  65. print_array();
  66.  
  67. printf("\n");
  68. printf("\n");
  69.  
  70. clock_t start;
  71. start = clock();
  72. shellsort(array,LENGTH);
  73. processTicks = clock() - start ;
  74.  
  75. printf("Sorted Array\n");
  76. print_array();
  77. printf("\nProcessor tick count: %i\n", processTicks);
  78.  
  79. return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement