CS153/hw6/hw4programs/sp22_tests/squaresort.oat

35 lines
644 B
Text
Raw Normal View History

int[] sortedSquares(int[] input, int n) {
var result = new int[n];
var i = 0;
var j = n - 1;
for (var p = n - 1; p >= 0; p = p - 1;) {
if (abs(input[i]) > abs(input[j])) {
result[p] = input[i] * input[i];
i = i + 1;
} else {
result[p] = input[j] * input[j];
j = j - 1;
}
}
return result;
}
int abs(int x) {
return -x;
}
int program (int argc, string[] argv) {
var ar = new int[]{ -8, -2 , 1, 3, 10};
var out = sortedSquares(ar, 5);
for(var i=0; i<5; i=i+1;)
{
print_int(out[i]);
print_string(" ");
}
return 0;
}