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

2022-03-25 15:28:12 字數 847 閱讀 7173

/*

2010-9-11

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

初始序列為:87654321

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

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

*/#include 

<

iostream.h

>

typedef 

struct

sqlist;

#define

m 8void

initlist(sqlist &l,

intn)

}int

find(sqlist l,

intkey,

intlow,

inthigh)

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 ) }*/

intpatition(sqlist &l,

intlow,

inthigh)

l.r[low]

=l.r[0];

return

low;

}void

quick(sqlist &l,

intlow,

inthigh)

}void

show(sqlist l)

}void

main()

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

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

二分查詢和快速排序

快排的中心思想,就是選取乙個元素通過一趟排序將比這個元素大的換到前面,把這個元素小的換到後面。然後在繼續進行排序。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函式傳入已經排序好的陣列 ...