用 Java語言實現下列算法並進行單元測試, 請給出算法的時間復雜度。
(1)求一個整數二維數組Arr[N][N]的所有元素之和。
(2)對於輸入的任意 3 個整數, 將它們按從小到大的順序輸出。
(3)對於輸入的任意 n 個整數, 輸出其中的最大和最小元素。
產品代碼
package ClassTest;
public class ArraySum {
public int Sum (int[][] a){
int sum = 0;
for (int i = 0;i < a.length;i++){
for (int j = 0; j < a[i].length;j++){
sum = sum + a[i][j];
}
}
return sum;
}
}
package ClassTest;
import org.junit.Test;
import static org.junit.Assert.*;
public class ArraySumTest {
ArraySum arraySum = new ArraySum();
@Test
public void sum() throws Exception {
int [][] a = {{1,1},{2,2},{3,3}};
int [][]b = null;
assertEquals(12,arraySum.Sum(a));
}
}
package ClassTest;
public class NumberSort {
public int [] sort (int[]a){
if (a.length == 3){
if (a[0] > a[1]){
swap(a,a[0],a[1]);
}
if (a[1]> a[2]){
swap(a,a[1],a[2]);
}
return a;
}
else
return null;
}
private static void swap (int[] data, int index1, int index2)
{
int temp = data[index1];
data[index1] = data[index2];
data[index2] = temp;
}
}
package ClassTest;
import org.junit.Test;
import static org.junit.Assert.*;
public class NumberSortTest {
int[] a = {10000,156523,4879};int[] a1 ={4879,10000,156523};
int [] b = {123,45689,1414,1};
@Test
public void sort() throws Exception {
NumberSort sort = new NumberSort();
assertEquals(a1,sort.sort(a));
assertEquals(null,sort.sort(b));
}
}
package ClassTest;
public class NumberChoose {
public int min (int [] data){
int min = data[0];
for (int index = 0; index < data.length; index++)
{
if (min >= data[index])
min = data[index];
}
return min;
}
public int max (int [] data){
int max = data[0];
for (int index = 0; index < data.length; index++)
{
if (max <= data[index])
max = data[index];
}
return max;
}
}
package ClassTest;
import org.junit.Test;
import static org.junit.Assert.*;
public class NumberChooseTest {
NumberChoose sort = new NumberChoose();
@Test
public void sort() throws Exception {
int [] a = {12,26,23,48,59,46};
int [] b = {12,12,12,12,12};
assertEquals("沒有成功",59,sort.max(a));
assertEquals("沒有成功",12,sort.min(a));
assertEquals("沒有成功",12,sort.max(b));
assertEquals("沒有成功",12,sort.min(b));
}
}
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。