64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
/*
|
|
|
|
idee, een programma dat een lijst van strings krijgt, en ze dan sorteert op
|
|
alphabetische volgorde, idealiter ook met hele nummbers if relevant (dus niet
|
|
alleen individuele digits)
|
|
|
|
split into strings and numbers
|
|
|
|
|
|
|
|
*/
|
|
|
|
#include <stddef.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
struct chickendynarr {
|
|
int *arr;
|
|
size_t length;
|
|
};
|
|
|
|
struct chickendynarr *createarr(int size) {
|
|
|
|
struct chickendynarr *myarr = malloc(sizeof(int) * size);
|
|
myarr->length = size;
|
|
myarr->arr = (int *)(myarr + 1);
|
|
|
|
for (int i = 0; i < size - 1; i++) {
|
|
int randnumb = rand() % 20;
|
|
myarr->arr[i] = randnumb;
|
|
printf("num%d:%d\n", i, randnumb);
|
|
}
|
|
|
|
return myarr;
|
|
}
|
|
|
|
/* eerst gewone bubblesort weer doen */
|
|
int mybubblesort(struct chickendynarr *inputarr) {
|
|
for (int i = 0; i < inputarr->length - 1; i++) { // voor elk nummer
|
|
for (int j = 0; j < inputarr->length - 1; j++) { // ga langs elk nummer
|
|
if (inputarr->arr[j] >
|
|
inputarr->arr[j + 1]) { // als huidig nummer groter is
|
|
// swap hem dan
|
|
int temp = inputarr->arr[j];
|
|
inputarr->arr[j] = inputarr->arr[j + 1];
|
|
inputarr->arr[j + 1] = temp;
|
|
}
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < inputarr->length - 1; i++) {
|
|
printf("num:%d, %d\n", i, inputarr->arr[i]);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int main() {
|
|
srand(time(NULL));
|
|
struct chickendynarr *myarr = createarr(5);
|
|
mybubblesort(myarr);
|
|
return 0;
|
|
}
|