利用低端哨实现顺序表的查找
来源:互联网 发布:杭州小知科技 知乎 编辑:程序博客网 时间:2024/05/01 10:59
顺序查找(Sequential Search)又叫线性查找,是最基本的查找技术。
顺序表查找算法优化,在查找方向的尽头放置“哨兵”免去了在查找过程中每一次比较后都要
判断查找位置是否越界,当然也可以在末端放置“哨兵”。
#include<iostream>using namespace std;/* 顺序查找,a为数组,n为要查找的数组个数,key为要查找的关键字*///元素值从下标1开始int Sequential_Search1(int *a,int n,int key){ for(int i=1;i<=n;i++) { if(a[i]==key) { return i; } } return 0;}/* 有哨兵顺序查找 */int Sequential_Search2(int *a,int n,int key){ int i; a[0]=key;//哨兵 i=n; while(a[i]!=key) { i--; } return i;//返回0则说明查找失败}int main(){ int a[]={0,1,2,3,4,5,6,8,1,9,10}; int pos1=Sequential_Search1(a,10,1); int pos2=Sequential_Search2(a,10,1); cout<<pos1<<endl;//1 cout<<pos2<<endl;//8 return 0;}
0 0
- 利用低端哨实现顺序表的查找
- 利用查找表的顺序性
- 利用顺序表实现的顺序队列
- 顺序查找、折半查找、引索顺序表查找的实现
- 实现顺序查找的算法
- 实现顺序查找的算法
- 实现顺序查找的算法
- 查找算法-顺序查找(顺序表的普通实现和优化实现)
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- 顺序表的查找
- HDU 5211 Mutiple
- .NET基础学习(LINQ)
- apache 二级域名设置完整步骤
- javascript 随机取任意四个字母和随机生成一个名字
- 栈(卡特兰数模板)
- 利用低端哨实现顺序表的查找
- js实现文本框赋值_value与innerHTML区别
- Mybatis怎么在mapper中用多个参数
- javascript 5秒钟刷新和页面title滚动
- Android 文件打开文件
- hihocoder1388 Periodic Signal
- linux shell program summary
- 软件工程—软件开发模型
- 【数据结构基础篇】树和二叉树之间的转换