惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - 咨询之路

Clustering 传统聚类分析(一) 基本顺序类表 英特尔的高效能管理法 英特尔公司 常见算法复杂度 算法性能评价 数的群体分类 类的基本点(二) 类的基本点(一) 经典的统计保留字算法 C++语言中学思想(二) C++语言中学思想(一) 为什么数在内存中要以补码表示[ZZ] C语言中学思想(二) 事半功倍的麦肯锡工作方法[ZZ] 职场男人时尚服饰的选择 C语言中学思想(一) 哥特式建筑
顺序查找和折半查找
咨询之路 · 2006-05-19 · via 博客园 - 咨询之路

顺序查找
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