快速排序和二分查詢的練習

2021-07-31 07:25:45 字數 692 閱讀 5819

*快速排序和二分查詢的練習

初始序列為:87654321

快速排序後為:12345678 (l.r[0]位置為哨兵位置,不是序列中的元素,不參與排序和輸出,為快速排序特用)

二分查詢(前提為有序序列)5,返回位置5*

#include 

typedef

struct sqlist;

#define m 8

void initlist(sqlist &l,int n)

}int find(sqlist l,int key,int low,int high)

return -1;//查詢失敗}/*

int partition ( sqlist &l,int low,int high )

l.r[low]=l.r[0];

return low;

}void qsort ( sqlist &l,int low,int high ) }*/

int patition(sqlist &l,int low,int high)

l.r[low]=l.r[0];

return low;

}void quick(sqlist &l,int low,int high)

}void show(sqlist l)

}void main()

快速排序和二分查詢的練習

2010 9 11 快速排序和二分查詢的練習 初始序列為 87654321 快速排序後為 12345678 l.r 0 位置為哨兵位置,不是序列中的元素,不參與排序和輸出,為快速排序特用 二分查詢 前提為有序序列 5,返回位置5 include iostream.h typedef struct s...

二分查詢和快速排序

快排的中心思想,就是選取乙個元素通過一趟排序將比這個元素大的換到前面,把這個元素小的換到後面。然後在繼續進行排序。void sort int datas,int low,int high int first low int last high int key datas first while fi...

二分查詢和快速排序

二分查詢的基本思想 二分查詢就是給定乙個已經排序好的陣列,輸入你想查詢的數值,然後對陣列進行折半查詢,找到直接返回在陣列中的位置,否則返回 1。它充分利用了元素間的次序關係,採用分治策略,可在最壞的情況下用o log n 完成搜尋任務。具體實現 1 binarysearch函式傳入已經排序好的陣列 ...