淺談選擇、冒泡排序,二分查找法以及一些for循環(huán)的靈活運(yùn)用
如下所示:
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 }; // 冒泡 --> 兩兩比較 --> 提取出最大的數(shù) 在最后一位 //拿第一位和它后面的一位進(jìn)行 兩兩比較 System.out.println(Arrays.toString(array)); for (int j = 0; j < array.length; j++) { for (int i = 0; i < array.length - 1 - j; i++) { // 如果前面的數(shù)大于后面的數(shù) 交換位置 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)); } }
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 }; // 選擇 --> 第一位與后面所有的數(shù)字進(jìn)行比較 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)); } }
import java.util.Arrays; import java.util.Scanner; // 二分查找 折半查找法 從中間斬?cái)?,比較值。繼續(xù)比較 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("輸入需要插入的數(shù)據(jù):"); int number = input.nextInt(); // 每次獲取最左邊的數(shù)和最右邊的數(shù) 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); } } }
//for循環(huán)打印矩形 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(); } } }
//for循環(huán)打印菱形 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(); } } }
//for循環(huán)打印等腰三角形 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(); } } }
//for循環(huán)打印之間三角形 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循環(huán)的靈活運(yùn)用就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java的Struts框架中配置國(guó)際化的資源存儲(chǔ)的要點(diǎn)解析
這篇文章主要介紹了Java的Struts框架中配置國(guó)際化的資源存儲(chǔ)的要點(diǎn)解析,針對(duì)用戶所使用的語(yǔ)言來(lái)配置資源文件,需要的朋友可以參考下2016-04-04一文搞懂如何實(shí)現(xiàn)Java,Spring動(dòng)態(tài)啟停定時(shí)任務(wù)
定時(shí)任務(wù)的應(yīng)用場(chǎng)景十分廣泛,如定時(shí)清理文件、定時(shí)生成報(bào)表、定時(shí)數(shù)據(jù)同步備份等。本文將教你實(shí)現(xiàn)Java、Spring動(dòng)態(tài)啟停定時(shí)任務(wù),感興趣的可以學(xué)習(xí)一下2022-06-06MyBatis學(xué)習(xí)筆記(二)之關(guān)聯(lián)關(guān)系
這篇文章主要介紹了MyBatis學(xué)習(xí)筆記(二)之關(guān)聯(lián)關(guān)系 的相關(guān)資料,需要的朋友可以參考下2016-02-02springmvc 分頁(yè)查詢的簡(jiǎn)單實(shí)現(xiàn)示例代碼
我們?cè)陂_發(fā)項(xiàng)目中很多項(xiàng)目都用到列表分頁(yè)功能,本篇介紹了springmvc 分頁(yè)查詢的簡(jiǎn)單實(shí)現(xiàn)示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01Java圖書管理系統(tǒng),課程設(shè)計(jì)必用(源碼+文檔)
本系統(tǒng)采用Java,MySQL 作為系統(tǒng)數(shù)據(jù)庫(kù),重點(diǎn)開發(fā)并實(shí)現(xiàn)了系統(tǒng)各個(gè)核心功能模塊,包括采編模塊、典藏模塊、基礎(chǔ)信息模塊、流通模塊、期刊模塊、查詢模塊、評(píng)論模塊、系統(tǒng)統(tǒng)計(jì)模塊以及幫助功能模塊2021-06-06java實(shí)現(xiàn)通訊錄管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07Spring Cache擴(kuò)展功能實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Spring Cache擴(kuò)展功能實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02