不是VIP会员,不能显示答案

题目解答

题目:
“高效”排序
以下程序实现输入n个数,使用类似冒泡排序的方法,依次比较相邻的两个数,如果前一个数比后一个大,则交换两者,最终将输入的n个数从小到大排序后输出。程序在运行中发现某遍扫描后所有数据已经有序了,将尽快结束工作。请将程序补充完整。
rogram nbcz09_5; 
var n,i,j,tmp:longint; 
    a:array[1..10000]of longint; 
    flag:boolean;  //本遍扫描有否交换发生 

begin 
   readln(n); 
   for i:=1 to n do read(a[i]); 
   i:=1; 
   
_____flag:=true________; 
   while flag and (i<=n-1) do begin  
      flag:=false; 
      for j:=1 to ____n-i___ do 
         if a[j]>a[j+1] then begin 
            tmp:=a[j]; 
            _____a[j]:=a[j+1]_____; 
            a[j+1]:=tmp; 
            _____flag:=true_____;  
         end; 
      _____inc(i)_____; 
   end; 
   for i:=1 to n-1 do write(a[i],' ');  
   writeln(a[n]); 
end. 
考点:
分析:
解答:
评论:
老师: