Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 35b04e088e |
@@ -7,18 +7,19 @@ struct array *sort(struct array *arr, comparator f)
|
|||||||
{
|
{
|
||||||
|
|
||||||
void *temp = malloc(arr->elem_size);
|
void *temp = malloc(arr->elem_size);
|
||||||
|
if (arr->len > 0) {
|
||||||
|
for(size_t index1 = 0; index1 < arr->len - 1; index1 ++ ){
|
||||||
|
|
||||||
for(size_t index1 = 0; index1 < arr->len - 1; index1 ++ ){
|
for(size_t index2 = index1; index2 < arr->len; index2 ++){
|
||||||
|
|
||||||
for(size_t index2 = index1; index2 < arr->len; index2 ++){
|
void *data1 = arr->data + index1 * arr->elem_size;
|
||||||
|
void *data2 = arr->data + index2 * arr->elem_size;
|
||||||
|
|
||||||
void *data1 = arr->data + index1 * arr->elem_size;
|
if(f(data1,data2) > 0){
|
||||||
void *data2 = arr->data + index2 * arr->elem_size;
|
memcpy(temp, data2, arr->elem_size);
|
||||||
|
memcpy(data2, data1, arr->elem_size);
|
||||||
if(f(data1,data2) > 0){
|
memcpy(data1, temp, arr->elem_size);
|
||||||
memcpy(temp, data2, arr->elem_size);
|
}
|
||||||
memcpy(data2, data1, arr->elem_size);
|
|
||||||
memcpy(data1, temp, arr->elem_size);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user