自動車のナンバープレートの並べ替えと照会
自動車ナンバープレートのクイック検索
車のナンバープレートのセットをソートして検索します.
基本的な要件:
(1)ソートを利用して自動車のナンバープレートをソートする.
(2)折半探索思想を用いて探索を完了する.
テストデータの要件:
ナンバープレートには数字と文字の組み合わせがあり、ナンバープレートは手動で入力したり、自動的に生成したりすることができます.
車のナンバープレートのセットをソートして検索します.
基本的な要件:
(1)ソートを利用して自動車のナンバープレートをソートする.
(2)折半探索思想を用いて探索を完了する.
テストデータの要件:
ナンバープレートには数字と文字の組み合わせがあり、ナンバープレートは手動で入力したり、自動的に生成したりすることができます.
#include
#include
#include
#include
typedef char Car[10];
typedef struct
{
Car *elem;
int length;
}LinkList;
void Input(LinkList &L)
{
printf(" :
");
scanf("%d",&L.length);
L.elem=(Car*)malloc(L.length*sizeof(Car));
printf(" :
");
for(int i=0;i0)
{
strcpy(a,L.elem[j]);
strcpy(L.elem[j],L.elem[j+1]);
strcpy(L.elem[j+1],a);
flag=1;
}
}
}
void Binsrch(LinkList &L,char *a)
{//
int low,high,mid;
int flag=1;
low=0;
high=L.length-1;
while(low<=high&&flag)
{
mid=(low+high)/2;
if(strcmp(a,L.elem[mid])==0)
{
printf(" %d 。
",mid+1);
flag=0;
}
else if(strcmp(a,L.elem[mid])>0)
{
low=mid+1;
mid=(low+high)/2;
}
else
{
high=mid-1;
mid=(low+high)/2;
}
}
if(flag)
printf(" 。
");
}
void Output(LinkList &L)
{
int i;
for(i=0;i