CS153/hw6/hw5programs/sp22_tests/ben_kai_insertion.oat
jmug ee01a8f5b2 Change hw6 to an unsolved version.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-01-24 23:10:01 -08:00

69 lines
No EOL
1.3 KiB
Text

int[] sort(int[] arr, int len)
{
var copy = new int[len];
for (var i = 0; i < len; i = i + 1;) {
copy[i] = arr[i];
}
for (var i = 1; i < len; i = i + 1;) {
var key = copy[i];
var j = (i - 1);
var inwhile = j >= 0 & copy[j] > key;
while (inwhile) {
copy[j + 1] = copy[j];
j = j - 1;
if (j < 0) {
inwhile = false;
} else {
if (copy[j] <= key) {
inwhile = false;
}
}
}
copy[j + 1] = key;
}
return copy;
}
bool checksorted(int[] arr, int len) {
if (len == 1) {
return true;
}
for (var i = 0; i < (len - 1); i = i + 1;)
{
if (arr[i+1] < arr[i]) {
return false;
}
}
return true;
}
/* for debugging */
void print_arr(int[] sorted, int len)
{
print_string("\nDescending sorted array[");
for (var i = 0; i < len; i = i + 1;)
{
print_int(sorted[i]);
if (i < len - 1) {
print_string(",");
}
}
print_string("]\n\n");
return;
}
int program (int argc, string[] argv) {
var arr = new int[]{ 12, 11, 13, 5, 6 };
var len = length(arr);
var sorted = sort(arr, len);
if (checksorted(sorted, len)) {
return 0;
}
return 1;
}