二分查詢與氣泡排序

2021-09-20 10:18:29 字數 950 閱讀 5662

二分查詢:

二分查詢又稱折半查詢是應用於有序數列中找到目標數的演算法。二分查詢較有序查詢的優點是比較次數少,查詢速度快,效能穩定『時間複雜度為o(lgn)。

現在寫出乙個在數列arr = 中找到目標數k = 8的過程。

int binary_search(int arr, int k, int sz)

else if (arr[mid] > k)

else

}return -1;}

int main()

; int k = 8;

int sz = sizeof(arr) / sizeof(arr[0]);

int ret = binary_search(arr, k, sz);

if (ret == -1)

printf("找不到\n");

else

printf("找到了:%d\n ", ret);

system("pause");

return 0;

}

``

氣泡排序:以公升序為例

氣泡排序又稱為氣泡排序或泡沫排序。具體操作為從第乙個數開始將兩個相鄰元素比較,若不符合大小要求就交換,一趟將乙個最大數字放置最後。

*構造乙個函式用來交換乙個陣列中的兩個數用傳址。

void swap(int* x, int* y)

void bubble_sort(int arr, int sz)

} }}int main()

; int sz = sizeof(arr) / sizeof(arr[0]);

bubble_sort(arr, sz);

for (i = 0; i < sz; i++)

system("pause");

return 0;

}

如有問題,希望多多指正。

氣泡排序 二分查詢

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...