問答題

下列三種算法是經(jīng)常應(yīng)用的內(nèi)排序算法:插入排序、選擇排序和冒泡排序。閱讀下列算法,回答問題。 INSERTION-SORT(A) 1. for i=2 to N 2. { key = A[i] ; 3. j =i-1; 4. While (j>0 and A[j]>key) do 5. { A[j+1]=A[j]; 6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-1 2. { k=i; 3. for j=i+1 to N 4. { if A[j] <a[k] then k="j;" } 5. if> i then 6. { 7. temp =A[k]; 8. A[k]=A[i]; 9. A[i]=temp; 10. } 11. } BUBBLE-SORT(A) 1. for i=1 to N-1 2. { haschange=false; 3. for j=1 to N-i 4. { if A[j]>A[j+1] then 5. { temp =A[j]; 6. A[j]=A[j+1]; 7. A[j]=temp; 8. haschange=true; 9. } 10. } 11. if (haschange ==false) then break; 12. } 閱讀BUBBLE-SORT算法,其中關(guān)于haschange變量的作用,下列說法不正確的是_____。
A、其它選項的說法有不正確的
B、haschange用于標(biāo)記每個輪次的相鄰元素比較中,是否有“交換”發(fā)生
C、haschange用于判斷至某個輪次時是否已完成排序,以便提前結(jié)束算法
D、haschange需要在每輪次之前置初始值為假,表示沒有“交換”發(fā)生
E、涉及haschange的語句全部去掉,算法仍舊能夠正確執(zhí)行

答案: E
微信掃碼免費搜題