您的位置:首页 > 其它

字符串的快速排序和二分查找

2013-03-17 14:31 337 查看
#include "stdafx.h"

#include<iostream>

#include <string>

#define N 100

using namespace std;

string a
;

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函数分别取调用以上的两个函数,实现字符串的快速排序和二分查找。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: