改成vector了
This commit is contained in:
+30
-2
@@ -1,9 +1,37 @@
|
||||
// 编写一个程序,输出在顺序表(1,2, 3, 4, 5, 6, 7, 8, 9, 10)中采用折半查找方法查找关键字9的过程。
|
||||
#include<iostream>
|
||||
#include<list>
|
||||
#include<vector>
|
||||
|
||||
using namespace std;
|
||||
|
||||
template<typename T>
|
||||
|
||||
void ListBinaryCopy(vector<T> p,vector<T> sl,vector<T> sr) {
|
||||
int low=0;
|
||||
int high=p.size()-1;
|
||||
int mid=(low+high)/2;
|
||||
|
||||
for (int i=low;i<=mid;i++) {
|
||||
sl[i]=p[i];
|
||||
}
|
||||
|
||||
for (int i=mid+1;i<=high;i++) {
|
||||
sr[i]=p[i];
|
||||
}
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
int BinarySearch(vector<T> l, T value) {
|
||||
if (l.empty()) return -1;
|
||||
|
||||
vector<T> sub_list_left, sub_list_right;
|
||||
ListBinaryCopy(l, sub_list_left);
|
||||
|
||||
BinarySearch(sub_list_left, value);
|
||||
BinarySearch(sub_list_right, value);
|
||||
}
|
||||
|
||||
int main() {
|
||||
vector<int> l = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user