一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 淺談選擇、冒泡排序,二分查找法以及一些for循環的靈活運用

淺談選擇、冒泡排序,二分查找法以及一些for循環的靈活運用

2020-11-23 13:19Java教程網 Java教程

下面小編就為大家帶來一篇淺談選擇、冒泡排序,二分查找法以及一些for循環的靈活運用。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Arrays;
public class Test {
 
  public static void main(String[] args) {
    int[] array = { 31, 22, 15, 77, 52, 32, 18, 25, 16, 7 };
    // 冒泡 --> 兩兩比較 --> 提取出最大的數 在最后一位
     //拿第一位和它后面的一位進行 兩兩比較
    System.out.println(Arrays.toString(array));
    for (int j = 0; j < array.length; j++) {
      for (int i = 0; i < array.length - 1 - j; i++) {
        // 如果前面的數大于后面的數 交換位置
        if (array[i] < array[i + 1]) {
          int temp = array[i];
          array[i] = array[i + 1];
          array[i + 1] = temp;
        }
      }
    }
    System.out.println(Arrays.toString(array));
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.Arrays;
//選擇排序
public class Test {
 
  public static void main(String[] args) {
    int[] array = { 31, 22, 15, 77, 52, 32, 18, 25, 16, 7 };
    // 選擇 --> 第一位與后面所有的數字進行比較
    System.out.println(Arrays.toString(array));
    for (int i = 0; i < array.length; i++) {
      for (int j = i + 1; j < array.length; j++) {
        if (array[i] < array[j]) {
          // 如果 array[0]比array[1]大,交換位置
          // 第三方變量temp
          int temp = array[i];
          array[i] = array[j];
          array[j] = temp;
        }
      }
    }
    System.out.println(Arrays.toString(array));
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.util.Arrays;
import java.util.Scanner;
 
// 二分查找 折半查找法  從中間斬斷,比較值。繼續比較
public class Test11 {
 
  public static void main(String[] args) {
    // 二分查找法 插入排序
    int[] array = { 3, 10, 15, 22, 33, 51, 77, 88 };
    System.out.println(Arrays.toString(array));
    Scanner input = new Scanner(System.in);
    do {
 
      System.out.print("輸入需要插入的數據:");
      int number = input.nextInt();
       // 每次獲取最左邊的數和最右邊的數
      int left = 0;
      int right = array.length - 1;
      int result = recursion(array, left, right, number);
      System.out.println(result);
      int[] newArray = new int[array.length + 1];
      for (int i = 0; i < newArray.length; i++) {
        if (i < result) {
          newArray[i] = array[i];
        } else if (i == result) {
          newArray[i] = number;
        } else {
          newArray[i] = array[i - 1];
        }
      }
      array = newArray;
      System.out.println(Arrays.toString(array));
    } while (true);
  }
 
    //遞歸
  public static int recursion(int[] array, int left, int right, int number) {
    // 如果大于右邊,或者小于左邊
    if (array[0] > number)
      return 0;
    else if (array[array.length - 1] < number)
      return array.length;
      
    int center = (left + right) / 2;
    if (left == right - 1)
      return right;
    if (array[center] > number) {
      return recursion(array, left, center, number);
    } else {
      return recursion(array, center, right, number);
    }
  }
 
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//for循環打印矩形
public class Rect {
 
  public void show(int width, int height) {
 
    for (int i = 0; i < width; i++) {
      for (int j = 0; j < height; j++) {
        if (i == 0 || j == 0 || i == width - 1 || j == height - 1)
          System.out.print("*");
        else
          System.out.print(" ");
      }
      System.out.println();
    }
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//for循環打印菱形
public class Rhombus {
 
  public void show(int height) {
    int half = height / 2;
    for (int i = 1; i <= half; i++) {
      // 先打空格
      for (int j = half - i + 1; j > 0; j--) {
        System.out.print(" ");
      }
      for (int j = 0; j < 2 * i - 1; j++) {
        System.out.print("*");
      }
      System.out.println();
    }
 
    for (int i = 0; i < 2 * half + 1; i++) {
      System.out.print("*");
    }
    System.out.println();
 
    for (int i = 1; i <= half; i++) {
      // 先打空格
      for (int j = i; j > 0; j--) {
        System.out.print(" ");
      }
      for (int j = 0; j < 2 * (half - i) + 1; j++) {
        System.out.print("*");
      }
      System.out.println();
    }
  }
 
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//for循環打印等腰三角形
public class Isosceles {
 
  public void show(int height) {
    for (int i = 1; i <= height; i++) {
      // 先打空格
      for (int j = height - i; j > 0; j--) {
        System.out.print(" ");
      }
      for (int j = 0; j < 2 * i - 1; j++) {
        System.out.print("*");
      }
      System.out.println();
    }
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
//for循環打印之間三角形
public class Triangle {
 
  public void show(String str, int height) {
    for (int i = 0; i < height; i++) {
      for (int j = 0; j < i + 1; j++) {
        System.out.print(str);
      }
      System.out.println();
    }
  }
 
}

以上這篇淺談選擇、冒泡排序,二分查找法以及一些for循環的靈活運用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 热99re久久精品精品免费 | 午夜国产精品 | freesex1718处xx| 青青草原免费在线视频 | 毛片a级放荡的护士hd | 免费一看一级欧美 | 精品久久国产 | 色多多视频网站 | 天天摸天天碰色综合网 | www.尤物| 精品国产区 | 猫咪maomiav永久网址 | 日韩免费一级 | 性xxx免费视频 | 羞羞漫画视频 | 日本一本二本三区免费 | 羞羞私人影院可以直接免费观影吗 | 亚洲成人免费观看 | 果冻传媒天美传媒网址入口 | 窝窝影院午夜色在线视频 | 国产欧美精品 | 美女视频久久 | 免费特黄一级欧美大片在线看 | 免费理伦片高清在线 | 暖暖的视频完整视频韩国免费 | 欧美在线视频一区二区 | 农村美女沟厕嘘嘘被偷看 | 日本高清中文字幕 | 亚洲欧美一区二区三区在线观看 | 甜蜜惩罚小说 | 国产亚洲欧美日韩综合综合二区 | 男女刺激高清视频在线观看 | 免费看隐私美女 | 日本网| 草莓视频首页 | 波多野结衣伦理在线观看 | 成人影院免费在线观看 | 精品一区二区三区在线视频观看 | 嫩草影院永久在线一二三四 | 情侣奴伺候女王第2部分小说 | 深夜成人 |