#include "stdafx.h"
#include<iostream>
#include <string>
#define N 100
using namespace std;
string a[N];
void fast_sortI(string *a,int begin,int end)
{
if(begin<end)
{
int i =begin,j=end;
string key = a[begin];
while(i<j)
{
while(i<j&&a[j]>=key) j--;
a[i]=a[j];
while(i<j&&a[i]<=key) i++;
a[j]=a[i];
}
a[i]=key;
fast_sortI(a,begin,i-1);
fast_sortI(a,i+1,end);
}
}
string Binary_search(string a,string *b,int begin,int end)
{
if((begin==end-1)&&a!=b[(begin+end)/2])
{
return "no result";
}
else if(a>b[(begin+end)/2])
{
return Binary_search(a,b,(begin+end)/2,end);
}
else if(a<b[(begin+end)/2])
{
return Binary_search(a,b,begin,(begin+end)/2);
}
else
{
return b[(begin+end)/2];
}
}
最后,用一个main函数分别取调用以上的两个函数,实现字符串的快速排序和二分查找。