早上好,無法恢復我的舊帳戶,所以這是新帳戶。我正在學習 Lazarus/Delphi 開發的課程,其中一項任務是關于使用 2 個嵌套回圈(不允許使用函式)對整數陣列進行排序。這是我的作業解決方案,但他們要求我去掉“k”變數,因為它不是必需的。我不知道該怎么做,因為“j”在第一個回圈結束時的值為 4,我需要它在第二個回圈開始時為 1,但如果我在第一次開始后將其賦值為 0 (而不是 "j := k;" "j := 1;" 它在回圈結束時達到 2 并在開始時回傳 1。我認為第三個整數變數可能是解決方案,從 1 開始,在回圈中增加它,在回圈開始時給“j”“k”的值,
i := 0;
j := 1;
k := 1;
while i < 4 do
begin
j := k;
while j < 5 do
begin
if nArray[j] < nArray[i] then
begin
tmp := nArray[j];
nArray[j] := nArray[i];
nArray[i] := tmp;
end;
j := j 1;
end;
k := k 1;
i := i 1;
end;
uj5u.com熱心網友回復:
你有沒有注意到:k 的值總是 i 1。k 初始化為 1,而 i 初始化為 0,兩者同時遞增。這意味著您可以將 k 替換為 i 1。
所以 j := k 將是 j := i 1。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/486707.html
下一篇:如何在sed中編輯多行
