空心三角 + 冒泡法

简介: 空心三角 + 冒泡法

空心三角:

/*
     *
    * *
   *   *
  *     *
 *********
*/
public class Stars {
  public static void main(String[] args) {
            int totalLevel = 20;//层数
    for(int i = 1; i <= totalLevel; i++) {//i 表示层数
      for(int k = 1; k <= totalLevel - i; k++) {// k 表示输出空格的数量
        System.out.print(" ");
        //在输出*之前,还要输出对应空格 = 总层数 - 当前层
      }
      for(int j = 1;j <= 2 * i - 1; j++) {// j 表示输出*的数量
        if(j == 1 || j == 2 * i - 1 || i == totalLevel) {
          System.out.print("*");
        } else {        // 其他情况输出空格
          System.out.print(" ");
        }
      }
      System.out.println( ); // 每打印完一层的*号后就换行,println本身也会换行
    }
    //1-4行第一个位置是*,最后一个位置也是* , 第五行全部输出
  }
}

冒泡法:

// 将五个无序的数:24,69,80,57,13 
// 使用冒泡排序法将其排成一个 从小到大 的有序数列
public class BubbleSort {
  public static void main(String[] args) {
        int[] arr = {24 , 69 , 80 , 57 , 13};
    int temp; //用于辅助变量交换
    // 4就是 arr.length - 1
    for(int i = 0; i < arr.length - 1; i++) {// 外层循环四次
      for(int j = 0; j < arr.length -1 -i; j++) { // 四次比较 -> 三次 -> 二次 -> 一次
      // 如果后面的数大于前面的数就进行交换
      if(arr[j] > arr[j + 1]) {
        temp = arr[j + 1];
        arr[j + 1] = arr[j];
        arr[j] = temp;
        }
      }
        // 每一轮循环可以确定一个数的位置,比如第一轮排序确定最大的数,第二轮排序
        //确定第二大的数,以此类推
      System.out.println("\n ===第" + (i + 1) + "轮");
      for(int j = 0; j < arr.length ; j++) {
        System.out.print(arr[j] + "\t");
        }
      }
    }


相关文章
|
11月前
|
算法
巧解“求取矩形面积划分”
巧解“求取矩形面积划分”
73 0
暴力枚举:三角形的组成
题目: 给定一个n个数的数字序列,每个数不超过1e9,有Q此询问,每次询问一个区间是否存在三个数可以组成一 个三角形,输入YES或NO(1<=n,Q<=1e5);
83 0
又来一个上三角数字三角形
又来一个上三角数字三角形
119 0
|
算法 Windows
详解扬辉三角
详解扬辉三角
134 0
详解扬辉三角
20天刷题计划-120. 三角形最小路径和
给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。
巴斯卡三角形(杨辉三角)
巴斯卡三角形(杨辉三角)
152 0
巴斯卡三角形(杨辉三角)
|
BI 人工智能
上三角下三角构建乘积数组
题目描述: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]。
933 0