氣泡排序 簡單選擇排序和二分法查詢

2021-08-21 23:43:25 字數 1262 閱讀 1487

氣泡排序:

原理:相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處。

package org.westos.demo;

public class maopaodemo ;

for (int i = 0; i < arr.length - 1; i++)

}} for (int x = 0; x < arr.length; x++)

}}

簡單選擇排序:

簡單選擇排序原理: 從0索引開始,依次和後面元素比較,小的往前放,第一次完畢,最小值出現在了最小索引處

package org.westos.demo;

// 選擇排序原理

// 從0索引開始,依次和後面元素比較,小的往前放,第一次完畢,最小值出現在了最小索引處

public class jiandanpaixu ;// 對陣列進行靜態初始化

for (int i = 0; i < arr.length - 1; i++)// 外層迴圈控制機比較的次數

for (int j = i + 1; j < arr.length; j++)

}for (int x = 0; x < arr.length; x++)

}}

二分法查詢

二分法查詢原理:資料必須有序排列。先從中間開始查詢,若中間的資料值與想要查詢到值相等,則查詢成功。若中間值大於所查詢的值,將最後的max移向mid得前乙個位置。如果小於所查詢的值,將最前面的min移向mid的前乙個位置。不斷重複著一項操作,直到找到為止。

package org.westos.demo;

public class erfenfa ;// 定義乙個靜態陣列

int number = 6;// 查詢的值為6

int min = 0;// 最小邊界

int max = arr.length - 1;// 最大邊界

int mid = (min + max) / 2;// 中間

// 迴圈查詢指定值的位置

while (arr[mid] != number) else

// 判斷查詢範圍

if (min > max)

// 更新中間值 mid

mid = (min + max) / 2;

} system.out.println("您查詢的值在第" + mid + "個位置");

}}

二分法 氣泡排序 選擇排序

二分法是一種效率比較高的搜尋方法 假設有乙個1 100之間的數字,你來猜這個數是多少,每猜一次可以得到三種 回答 正確 大了或小了。如何保證用最少的次數猜對?很多人會想到先猜50,如果猜大了,說明答案比50小,然後猜25.用這種方法,每次都可以將數字的範圍縮小一半,對於1 100之間的任何數,最多都...

氣泡排序法和二分法排序

使用氣泡排序法對陣列進行排序的原理 陣列元素兩兩比較大小 function func arr print r arr arr array 0,11,2,3,24,5,16,7,48,9 func arr 使用快速排序法對陣列進行排序的原理 陣列元素進行樹狀分支,分結點比較大小,然後採用遞迴函式遞迴處...

二分法和氣泡排序

先放乙個 可以看到冒泡,選擇,插入排序的過程 冒泡 選擇 插入排序 前言 二分法是乙個優化演算法,在乙個基於有序列表中,列表從1到10000,如果要找乙個8899的數字,不用二分法的話,就是迴圈從一到10000,直到找到8899.但是,有沒有想過,前5000個都比8899小,所以能不能直接第一次就判...