氣泡排序的概念:將一串無序數字按照由小到大的順序排列。
氣泡排序的思想:兩個相鄰的數依此比較,保證大數在後面。
(1)第一次查詢:
i: 將第乙個數與第二個數比較,如果第乙個數比第二個數大,則將第乙個數與第二個數交換位置;
ii: 將第二個數與第三個數比較,如果第二個數比第三個數大,則將第二個數與第三個數交換位置;
iii: 以此類推。。。直到與第n個數進行比較。
(2)第二次查詢:
i: 將第乙個數與第二個數比較,如果第乙個數比第二個數大,則將第乙個數與第二個數交換位置;
ii: 將第二個數與第三個數比較,如果第二個數比第三個數大,則將第二個數與第三個數交換位置;
iii: 以此類推。。。直到與第(n-1)個數進行比較。
(3)有幾個數就進行幾次查詢,但是為了提高效率,有n』個數比較的時候就進行(n-1)次查詢,剩下最後乙個數沒有比較的物件,不需要比較。
具體**:
public
class
test0007
}//氣泡排序
public
static
void
bubblesort
(int
array1)
}// 如果過程一次交換都沒發生過,假設有序成立
if(sorted ==
true)}
}//主方法
public
static
void
main
(string[
] args)
; test0007 ep1 =
newtest0007()
; ep1.
bubblesort
(array1)
; ep1.
print
(array1);}
}
二分查詢的概念:二分查詢也稱折半查詢(binary search),它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。
二分查詢的條件:
(1)在陣列中查詢;
(2)陣列有序;
(3)只能查詢乙個元素。
二分查詢的思想:
(1)首先找出陣列最中間位置的元素,與要尋找的元素盡心香港比較;
(2)如果相等,則查詢結束;
(3)如果不相等,則判斷大小,重新定義查詢區間;
i: 如果小於中間元素,則定義前半段為新的查詢區間;
ii:如果大於中間元素,則定義後半段為新的查詢區間。
(4)在新的查詢區間中重複以上步驟。直至找到要查詢的元素位置,找到時,返回該元素的下標,或者找不到時,返回-1
具體**如下:
public
class
test0007
else
else}}
return-1
;}//主方法
public
static
void
main
(string[
] args)
;int num =3;
test0007 ep1 =
newtest0007()
; system.out.
println
(ep1.
binarysearch
(array1,num));
}}
氣泡排序 二分查詢
include include include using namespace std int bsearch int t,int n,int x 二分查詢 return null inline void swap int a,int b void init int t,int n for int ...
氣泡排序 二分查詢
二分查詢 在label中無法顯示陣列 解決方法 string str 定義 字串str並賦初值 後 str str myarray i tostring 用str 接收已排序陣列再在label中顯示。剛開始寫二分查詢時找到分支 if sortarray mid num labelres.text 已...
氣泡排序,二分查詢
氣泡排序 lst 88,5,8,6,1,23 for a in range len lst 記錄內部排序的次數 i 0 while i len lst 1 把最大值移動到右端 if lst i lst i 1 比較,lst i lst i 1 lst i 1 lst i 交換 i i 1 print...