[問答題] 請(qǐng)完成下列Java程序。程序的功能是對(duì)數(shù)組進(jìn)行冒泡排序。冒泡排序算法的基本思路是把當(dāng)前數(shù)據(jù)序列中的各相鄰數(shù)據(jù)兩兩比較,發(fā)現(xiàn)任何一對(duì)數(shù)據(jù)間不符合升序或
[問答題] 請(qǐng)完成下列Java程序。程序的功能是對(duì)數(shù)組進(jìn)行冒泡排序。冒泡排序算法的基本思路是把當(dāng)前數(shù)據(jù)序列中的各相鄰數(shù)據(jù)兩兩比較,發(fā)現(xiàn)任何一對(duì)數(shù)據(jù)間不符合升序或降序關(guān)系則立即調(diào)換它們的順序,從而保證相鄰數(shù)據(jù)間符合升序或降序的關(guān)系。本題是進(jìn)行升序排列。例如數(shù)組a[]=30,1,-9,70,25則排序后為-9 1 25 30 70。
注意:請(qǐng)勿改動(dòng)main()主方法和其他已有的語句內(nèi)容,僅在下劃線處填入適當(dāng)?shù)恼Z句。
源程序文件代碼清單如下:
public class BubbleSort
public static void main(String args[])
int i,j;int a[]=30,1,-9,70,25;
int n=a.length;
System.out.print("排序前數(shù)組為:");
for(i=0;i<n;i++)
System.out.print(a[i]+" ");
System.out.println();
for(i=1;i<n;i++)
for(j=0;______j++)
if(a[j]>a[j+1])
int temp=a[j];______;
a[j+1]=temp;
System.out.print("排序后數(shù)組為:");
for(i=0;i<n;i++)
System.out.print(a[i]+" ");
正確答案:j<n-i;a[j]=a[i+1];
參考解析:本題主要考查for循環(huán)語句的用法及數(shù)組的基本知識(shí)。解答本題的關(guān)鍵是能夠熟練的掌握冒泡排序算法的思想及for循環(huán)語句的用法。排序是數(shù)據(jù)處理中經(jīng)常使用的一種重要運(yùn)算。常見排序分為:插入排序、選擇排序、冒泡排序、基數(shù)排序等。在本題中,for(j=0; j<n-i;j++)循環(huán)的功能是對(duì)上次排序的結(jié)果再進(jìn)行排序,從中選擇最小的數(shù)。a[j]=a[j+1]語句的功能是把最小的數(shù)放在數(shù)組的最前面。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。