绪论

习题

确定带“*”的语句的语句频度

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]+" ");
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章