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

推荐订阅源

雷峰网
雷峰网
L
LangChain Blog
GbyAI
GbyAI
F
Fortinet All Blogs
腾讯CDC
Last Week in AI
Last Week in AI
A
About on SuperTechFans
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
B
Blog
D
Docker
G
Google Developers Blog
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed

博客园 - 咨询之路

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