1.杨辉三角形
int[][] arr = new int[10][10];
for (int i = 0; i < arr.length ; i++) {
arr[i] = new int[i + 1];
arr[i][0] = 1;
arr[i][i] = 1;
if(i > 1){
for (int j = 1; j < arr[i].length - 1; j++) {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <arr[i].length ; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
2.拓展,随机数在数组中不重复
int[] arr =new int[6];
for (int i = 0; i < arr.length ; i++) {
int num = (int) (Math.random() * 10 + 1);
arr[i] = num;
for (int j = 0; j < i ; j++) {
if(arr[i] == arr[j]){
i--;
break;
}
}
}
for (int i = 0; i < arr.length ; i++) {
System.out.println(arr[i]);
}
3.回型数
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int[][] arr = new int[num][num];
int total = 1;
int minH = 0;
int maxH = arr.length -1;
int minL = 0;
int maxL = arr.length - 1;
while (total != num * num + 1){
for (int i = minL; i <= maxL ; i++) {
arr[minH][i] = total;
total++;
}
minH++;
for (int i = minH; i <= maxH; i++) {
arr[i][maxL] = total;
total++;
}
maxL--;
for (int i = maxL; i >= minL; i--){
arr[maxH][i] = total;
total++;
}
maxH--;
for (int i = maxH; i >= minH ; i--) {
arr[i][minL] = total;
total++;
}
minL++;
}
for (int i = 0; i < arr.length ; i++) {
for (int j = 0; j < arr[i].length ; j++) {
System.out.print(arr[i][j]+ "\t");
}
System.out.println();
}
4.数组的反转
int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i < arr.length / 2 ; i++) {
int temp = arr[i];
arr[i] = arr[arr.length - 1 -i];
arr[arr.length - 1 - i] = temp;
}
for (int i = 0; i < arr.length ; i++) {
System.out.print(arr[i]);
}
5.快速排序
public static void main(String[] args) {
int[] arr = new int[]{2,8,2,1,9,5,4};
sort(arr,0,arr.length-1);
System.out.println(Arrays.toString(arr));
}
public static void sort(int[] arr,int left,int right){
if(left > right) return;
int base = arr[left];
int i = left;
int j = right;
while (i != j){
while (arr[j] >= base && i < j){
j--;
}
while (arr[i] <= base && i < j){
i++;
}
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
arr[left] = arr[i];
arr[i] = base;
sort(arr,left,i-1);
sort(arr,i+1,right);
}