我有一個非常簡單的(或者至少應該是)賦值,我必須在大量的隨機數上運行bubblesort並查看它的執行時間。然後我必須做同樣的事情,除了將數組分成一半,並在另一個線程中對另一個線程中的另一個線程進行排序,並且看看它是否更快。Bubblesort with C
我從來沒有使用C之前,所以我完全無能爲力指針,只有與Java一起工作。這裏是我的代碼,因爲我只是想讓bubblesort工作。
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <libgen.h>
int main() {
int *array[50000];
for(int i = 0; i < 50000; i++) {
array[i] = 1;
}
bubbleSort(array, 50000);
}
void bubbleSort(int *numbers[], int *array_size) {
int i, j, temp;
for(i = (array_size - 1); i > 0; i--) {
for(j = 1; j <= i; j++) {
if(numbers[j-1] > numbers[j]) {
temp = numbers[j-1];
numbers[j-1] = numbers[j];
numbers[j] = temp;
}
}
}
for(int i = 0; i < 10; i++) {
printf(numbers[i]);
}
}
我想在這裏做的所有事情是排序數組,然後打印出前十個數字,所以我知道它的工作。我收到各種指針錯誤。
"bubbleSort.c", line 11: warning: improper pointer/integer combination: op "="
"bubbleSort.c", line 13: warning: implicit function declaration: bubbleSort
"bubbleSort.c", line 16: identifier redeclared: bubbleSort
current : function(pointer to pointer to int, pointer to int) returning void
previous: function() returning int : "bubbleSort.c", line 13
"bubbleSort.c", line 18: warning: improper pointer/integer combination: op "="
"bubbleSort.c", line 21: warning: improper pointer/integer combination: op "="
"bubbleSort.c", line 23: warning: improper pointer/integer combination: op "="
"bubbleSort.c", line 28: warning: argument #1 is incompatible with prototype:
prototype: pointer to const char : "/usr/include/iso/stdio_iso.h", line 206
argument : pointer to int
cc: acomp failed for bubbleSort.c
'陣列[i] = 1;'我知道,通過公平的擲骰和所有的決定,但是這不是與「隨機數的陣列」旨在測試性能。 –
哎呀,我改變了這一點,因爲我得到了一個錯誤,並忘記在發佈之前將它改回來。而不是一個我有rand()那裏,但它不喜歡那個。現在讓我改回它,看看錯誤是什麼。 – user1704677