int find_next_point(int i, point q[], int size) {
float minv = 9999999999, v;
int mini = -1;
for (int n = 0; n < size; n++) {
if (!q[n].done && ((v = abs(q[n].x - q[i].y) + abs(q[n].y - q[i].y)) < minv)) {
minv = v;
mini = n;
}
}
return mini;
}
void f(point q[], int size) {
for (int i = 0; i >= 0; i = find_next_point(i, q, size)) {
q[i].done = 1;
printf("(%d, %d)\n", q[i].x, q[i].y);
}
}
void main() {
point q[4] = {{0,0,0},{0,1,0},{1,1,0},{1,0,0}};
f(q, 4);
}