氣泡排序:
原理:相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處。
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小,所以能不能直接第一次就判...