激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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循環的靈活運用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产又白又嫩又紧又爽18p | 一区二区三区四区五区中文字幕 | 国内性爱视频 | 亚洲一区二区三区日本久久九 | 黄色免费在线电影 | 极品大长腿啪啪高潮露脸 | 免费观看一级 | 国产精品视频一区二区三区综合 | 久久草草影视免费网 | 国产精品久久久久影院老司 | 亚洲成人激情av | 成年人福利视频 | 成人在线观看一区二区三区 | 日产精品久久久一区二区福利 | 黄视频网站免费观看 | 青草av.久久免费一区 | 国产一区二区三区手机在线 | 久久久久国产成人精品亚洲午夜 | 久久久久久久久久网 | 久久久久久久久免费 | 免费视频www在线观看 | 蜜桃传媒视频麻豆第一区免费观看 | 久久精品视频一区 | 久久久成人动漫 | 国产免费观看一区二区三区 | 天天操很很操 | 欧美日韩网站在线观看 | 国产一级淫 | 久久精品视频首页 | 成人男女激情免费视频 | 欧美a在线观看 | 久操中文 | 国产精品自拍啪啪 | 日本久久精品视频 | 免费高清一级欧美片在线观看 | 亚洲精品成人18久久久久 | 媚药按摩痉挛w中文字幕 | 黄视频免费在线观看 | 午夜视频在线 | 刘亦菲一区二区三区免费看 | 97视频 |