緒論

習題

確定帶“*”的語句的語句頻度

2)

i=1;k=0;
do{
   k+=10*i;//*  當n<=1時爲1,n>1時爲n-1
   i++;
}while(i<=n-1);

6)

x=n;y=0;
while(x>=(y+1)*(y+1)){
    y++;//* 根號n取整
}

7)

x=91;y=100;
while(y>0){
   if(x>100){x-=10;y--;}//* 1100
   else x++;
}

算法設計題

1、包含100個實數的數組,編寫求最大數據元素的值及其下標的算法,並分析時間複雜度。

void max(double[]a){
    double max=a[0];
    int index=0;
    for(int i=0;i<a.length;i++)
        if(max<a[i]){
            max=a[i];
            index=i;
        }
    System.out.println("最大的實數爲:"+max+"\n其在數組中的下標爲:"+index);
        }

上機實踐題

1、編寫一個實現將整型數組按值遞增順序進行排序的java程序。
冒泡排序

public class Main{
    public int[]bubbleSort(int[]a){
        int n=a.length;
        boolean isExchange=true;
        for(int i=0;i<n-1&&isExchange;i++){//最多做n-1次排序
            isExchange=false;
            for(int j=0;j<n-i-1;j++){//對當前無序區排序
                if(a[j]>a[j+1]){
                    int temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                    isExchange=true;//發生了交換,交換標誌置爲真
                }
            }
            if(!isExchange)
                break;
        }
        return a;
    }
    public static void main(String[] args){
        int[]values={49,38,65,97,76,13,27,49};
        Main e=new Main();
        values=e.bubbleSort(values);
        for(int i=0;i<values.length;i++)
            System.out.print(values[i]+" ");
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章