annotate src/algorithms.c @ 29:dae463bbf5ca

implementing multi-thread and refactoring
author Dennis C. M. <dennis@denniscm.com>
date Wed, 28 Jun 2023 20:10:55 +0100
parents
children f945bcc3571f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
1 #include "algorithms.h"
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
2
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
4 void *bubble_sort(void *arguments) {
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 struct AlgoArgs *args = (struct AlgoArgs *)arguments;
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
7 printf("Size: %i\n", args->arr_size);
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
8 printf("Comparisons: %i\n", args->comparisons);
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
9 (args->comparisons)++;
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 printf("Comparisons: %i\n", args->comparisons);
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 /*
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12 for (int i = 0; i < args->arr_size - 1; i++) {
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
13 //(*args->comparisons)++;
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
14
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
15 for (int j = 0; j < args->arr_size - i - 1; j++) {
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
16 //(*args->comparisons)++;
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 if (args->arr[j].value > args->arr[j + 1].value) {
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19 //swap_elements(j, j + 1, args->arr);
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
20 }
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
21
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
22
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
23 //usleep((*args->delay));
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24 //bool test = false;
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 //delay_flow(args->delay, &test);
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
26 }
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
27 }
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28 */
dae463bbf5ca implementing multi-thread and refactoring
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 }