- 冒泡排序
package feilong.day1221;
import java.util.Arrays;
import java.util.Random;
public class MaoPao {
public static void main(String[] args) {
int[] a = new int[10];//聲明一個長度爲10的數組
System.out.println("隨機產生10個數,從大到小排列");
for (int i = 0; i < a.length; i++) {//遍歷數組 放入數據
int j=new Random().nextInt(100);//隨機產生[0,100)之間的整數
a[i]=j; //循環賦值
}
System.out.println(Arrays.toString(a));//輸出數組
System.out.println("==========================");
for(int i = 1; i<a.length-1;i++){//第一層 遍歷數組
for(int j=0; j<a.length-1-i;j++){//第二層 遍歷數組
//相鄰兩元素比較
if(a[j]<a[j+1]){
int c;
c=a[j];
a[j] = a[j+1];
a[j+1]=c;
}
}
}
System.out.println(Arrays.toString(a));
}
}
- 楊輝三角(1)
package feilong.day1221;
public class YangHuiSanJiao {
public static void main(String[] args) {
int a[][]=new int[10][0];// 創建二維數組
// 遍歷二維數組的第一層
for (int i = 0; i < a.length; i++) {
a[i]=new int[i+1];// 初始化第二層數組的大小
// 遍歷第二層數組
for(int j=0;j<=i;j++){
// 將兩側的數組元素賦值爲1
if(i==0||j==0||j==i){
a[i][j]=1;
}else{// 其他數值通過公式計算
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
System.out.print(a[i][j]+"\t"); // 輸出數組元素
}
System.out.println(); //換行
}
}
}
運行效果
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
- 楊輝三角(2)
package feilong.day1221;
public class YHsanjiao {
public static void main(String[] args) {
int[][] a = new int[10][10];
//打出所有邊界值 1
/**
* 1
* 1 1
* 1 1
*/
for (int i = 0; i < a.length; i++) {
a[i][i] = 1;
a[i][0] = 1;
}
/**
* 給中心循環賦值 三角形的裏面
*/
for (int i = 2; i < a.length; i++) {
for (int j = 1; j < i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
/**
* 將三角形以外的地方用空格顯示出來
*/
for (int i = 0; i < a.length; i++) {
for (int k = 0; k<2*(a.length-i)-1; k++) {
System.out.print(" ");
}
/**
* 將三角形內部的數字以及空格顯示出來
*/
for (int j = 0; j <=i; j++) {
System.out.print(a[i][j] + " ");
}
//換行
System.out.println();
}
}
}
運行效果,這裏顯示的效果不是很好,可能編輯格式原因,實際是個等腰三角形的 樣子
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1