JavaScriptの問題に関して教えてください。
下記問題の解き方および答えが考えても全然分からず、お教えいただきたいです。お願いいたします。
以下のプログラムを読んで、どういったプログラムなのかを説明してください。
let change = 0;
let change_sum = 0;
const data = [ 31, 41, 59, 26, 53, 58, 97, 93, 23, 84 ];
console.log("並べ替える前");
for (let i = 0; i < data.length; i++) {
console.log(data[i] + " ");
}// for
console.log("\n");
console.log("***********************************");
console.log("");
for (let i = 0; i < data.length - 1; i++) {
for (let j = i + 1; j < data.length; j++) {
if (data[i] > data[j]) {
let a = data[i];
data[i] = data[j];
data[j] = a;
change++;
}// if
}// for(内側1)
console.log((i + 1) + "回目");
console.log(`${change}回`);
for (let k = 0; k < data.length; k++) {
process.stdout.write(data[k] + " ");
}// for(内側2)
console.log("\n");
change_sum += change;
change = 0;
}// for(外側)
//最終結果の表示
console.log("***********************************");
console.log("");
console.log(`${change_sum}回`);
console.log("最終結果");
for (let i = 0; i < data.length; i++) {
process.stdout.write(data[i] + " ");
}// for
console.log("");