顺序查找和折半查找
顺序查找
typedef int DataType;

int SeqSearch(DataType List[],int n,DataType key)
{
for(int i=0;i<n;i++)
if(List[i]==key)
return i;
return -1;
}
*判断出口,找到就出来,没找到就返回没找到
O(n)

折半查找
int BinSearch(DataType list[],int low,int high,DataType key)
{
int mid;
DataType midvalue;

while(low<=high)
{
mid=(low+high)/2;
midvalue=list[mid];
if(key==midvalue)
return mid;
else if(key<midvalue)
high=mid-1;
else
low=mid+1;
}
return -1;
}
*low<=high

排序操作
void ExchangeSort(int a[],int n)
{
int i,j,temp;

for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
*j=i+1
posted on 2006-05-19 13:19  咨询之路  阅读(488)  评论(1)    收藏  举报