单项选择题
下列三种算法是经常应用的内排序算法:插入排序、选择排序和冒泡排序。阅读下列算法,回答问题。
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) do5. { A[j+1]=A[j];6. j=j-1; } 7. A[j+1]=key; 8. } SELECTION-SORT(A) 1. for i=1 to N-12. { k=i; 3. for j=i+1 to N4. { if A[j]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] then5. { 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算法的基本思想,下列说法正确的是_____。
A、一个元素一个元素的处理。每次处理一个元素,通过与当前已排序元素的比较,将该元素放入到当前正确排序的位置。直到最后一个元素则算法结束。
B、一个轮次一个轮次的处理。将元素集合分成两个部分,已排序元素集合和未排序元素集合,开始时已排序元素集合为空。在每一轮次,从未排序元素集合中找出最小值的元素,将其移入已排序元素集合;直到未排序元素集合为空时则算法结束。
C、一个轮次一个轮次的处理。在每一轮次中依次对待排序数组元素中相邻的两个元素进行比较:如不符合排序关系,则交换两个元素。直到某一轮次没有元素交换发生则结束。
D、上述说法都不正确。