Я новичок в программировании. Я знаю, что компьютер выполняет инструкции в том порядке, в котором они даны.
Я изучаю язык C и написал следующее:
#include <stdlib.h>
#include <stdio.h>
int comp(const char *a, const char *b) {
return *a - *b;
}
int main() {
char str[] = "Hello, world! I'm learning C and it's awesome!";
qsort(str, sizeof(str) - 1, sizeof(char), comp); // -1 because of NUL-terminator.
puts(str);
return 0;
}
Однако, когда я хочу отсортировать несколько очень больших массивов, это может занять некоторое время. Мой компьютер имеет несколько вычислительных ядер, поэтому я хочу воспользоваться этим преимуществом. Возможно ли это? Может ли код выполняться параллельно и как мне это сделать?
P.S. Я знаю, что мне нужно профилировать код перед оптимизацией, но пока предположим, что это очень медленная операция.