Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <time.h>
- #include <stdlib.h>
- #define LENGTH 100000
- int array[LENGTH];
- void init_array(int arr[], int num){
- int i;
- srand(7);
- for (i = 0; i < num; i++) {
- arr[i] = 1 + rand() % 100;
- }
- return;
- }
- void shellsort(int arr[], int num){
- int i, j, k, tmp;
- for (i = num / 2; i > 0; i = i / 2) {
- for (j = i; j < num; j++) {
- for(k = j - i; k >= 0; k = k - i){
- if (arr[k+i] >= arr[k])
- break;
- else
- {
- tmp = arr[k];
- arr[k] = arr[k+i];
- arr[k+i] = tmp;
- }
- }
- }
- }
- }
- void print_array(){
- for (int i = 0; i < LENGTH; i++) {
- printf(" %d",array[i]);
- }
- return;
- }
- int main(void){
- int processTicks;
- init_array(array,LENGTH);
- printf("Unsorted Array\n");
- print_array();
- printf("\n");
- printf("\n");
- clock_t start;
- start = clock();
- shellsort(array,LENGTH);
- processTicks = clock() - start ;
- printf("Sorted Array\n");
- print_array();
- printf("\nProcessor tick count: %i\n", processTicks);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement