/**
* 這是一個工具類,裏面有多個工具函數:
* print(Object o)函數的重載,分別用於打印int型變量、String類型變量、數組,以及爲了打印超長數組而設置的printL(int[] a);
* swap(int[] a, int b, int c)交換數組a中下標爲b和c的變量的位置;
* getRandomArray(int log)生成一個長度爲log的隨機數組,其中的數無序最大值爲log-1,最小值爲0,且互不重複。
*
* 持續更新中…
* @author Steve Huge
* @version 1.0
*/
public class Tool {
/**
*打印一個int型的變量
* @param a 一個int型變量
*/
public static void print(int a){
System.out.print(a);
}
/**
* 打印一個String類型的變量
* @param s 一個String字符串
*/
public static void print(String s){
System.out.println(s);
}
/**
* 打印一個數組
* @param a 一個int型數組
*/
public static void print(int[] a){
int length = a.length;
for(int i=0; i<length; i++){
System.out.print(+a[i]+"\t");
}
System.out.println();
}
/**
* 打印超長數組時每個9個數字換行,方便顯示
* @param a 一個int型數組(數據量很大,一般大於50)
*/
public static void printL(int[] a){
int length = a.length;
for(int i=0; i<length; i++){
System.out.print(+a[i]+"\t");
if((i+1)%10 == 0 )
System.out.println();
}
System.out.println();
}
/**
* 交換數組中的兩個數
* 引用:
* //Java對普通類型的變量是不支持引用傳遞的
* //可以像下面這樣通過傳數組(也屬於傳值)的方法來完成對換(在很多排序算法裏面就是這麼幹的):
* //public static void swap(int[] data, int a, int b) {
* // int t = data[a];
* // data[a] = data[b];
* // data[b] = t;
* //}
* @param c int型數組
* @param a 數組下邊
* @param b 數組下邊
*/
public static void swap(int[] c, int a, int b){
int temp = c[a];
c[a] = c[b];
c[b] = temp;
}
/**
* 生成一個長度爲log的隨機數組,其中的數無序最大值爲log-1,最小值爲0,且互不重複。
* @param log 生成數組的長度
* @return 返回生成後的數組
*/
public static int[] getRandomArray(int log){
int[] result = new int[log];
// 創建一個數組,其中每個值爲其下標+1
for (int i = 0; i < log; i++) {
result[i] = i + 1;
}
// 每隨機出一個數,將其按照從前到後與數組第一個值交換,以達到隨機數組的目的
for (int i = 0; i < log; i++) {
int random = (int) (log * Math.random());
swap(result, random, i);
}
return result;
}
}
工具類-Tool
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.