Java上機實驗

下午實驗課要求:

1.帶jdk和編程軟件。

2.生成100個和一萬個元素的隨機值數組。

3.試用冒泡等經典算法、快速排序和數據自帶排序方法,記錄實驗數據。

4.比較算法在不同情況下的效率,進行討論,撰寫實驗報告。

import javax.swing.*;
public class example{
	static int ran[] = new int[100];
	static int ran2[] = new int[10000];
	public static void main(String args[]) {
		for(int i=0;i<100;i++) {
			ran[i]=(int)(100*Math.random());
		}
		for(int i=0;i<100;i++) {
			System.out.print(ran[i]+" ");
		}
		System.out.println();
		for(int i=0;i<10000;i++) {
			ran2[i]=(int)(100*Math.random());
		}
		for(int i=0;i<100;i++) {
			System.out.print(ran2[i]+" ");
		}
		System.out.println();
		//bubble();
		System.out.println();
		//insert();
		System.out.println();
	    //choose();
		System.out.println();
		quicksort(0,99);
		for(int i=0;i<100;i++) {
			System.out.print(ran[i]+" ");
		}
	 }
    static void bubble() {//冒泡排序算法
		for(int i=0;i<100;i++) {
			for(int j=99;j>i;j--) {
				if(ran[i]>ran[j]) {
					int temp=ran[i];
					ran[i]=ran[j];
					ran[j]=temp;
				}
			}
		}
		for(int i=0;i<100;i++) {
			System.out.print(ran[i]+" ");
		}
	}
    static void insert() {
    	for(int i=1;i<100;i++) {
    		int temp=ran[i],j;
    		for(j=i;j>0&&temp<ran[j-1];j--) {
    			ran[j]=ran[j-1];
    		}
    		ran[j]=temp;
    	}
    	for(int i=0;i<100;i++) {
			System.out.print(ran[i]+" ");
		}
    }
    static void choose() {
    	for(int i=0;i<100;i++) {
    		int index=i;
    		for(int j=i+1;j<100;j++) {
    			if(ran[index]>ran[j]) {
    				index=j;
    			}
    		}
    		int temp=ran[index];
    		ran[index]=ran[i];
    		ran[i]=temp;
    	}
    	for(int i=0;i<100;i++) {
			System.out.print(ran[i]+" ");
		}
    }
    static void quicksort(int start,int end) {
    	if(start>=end) return ;
    	int i=start;
    	int j=end;
    	int base=ran[start];
    	while(i!=j) {
    		while(ran[j]>=base&&j>i) j--;
    		while(ran[i]<=base&&j>i) i++;
    		if(i<j) {
    			int temp=ran[i];
    			ran[i]=ran[j];
    			ran[j]=temp;
    		}
    	}
    	ran[start]=ran[i];
    	ran[i]=base;
    	quicksort(start,i-1);
    	quicksort(i+1,end);
    }
    
}

沒有比較,等下回去試下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章