查找算法之索引顺序查找
来源:互联网 发布:msvcp120.dll丢失知乎 编辑:程序博客网 时间:2024/05/19 08:06
/***************索引顺序查找算法:分块查找,是顺序查找的一种改进1.将数组分块,并标记各子块的数据范围2.根据查找的数据大小,决定在哪一子块内顺序查找***************/#include<iostream>using namespace std;#include<time.h>#define n 18int main(){ time_t ts; srand((unsigned int)time(&ts)); //设置随机数种子 int a[n]={0}; for(int i=0;i<n;i++) {//将数组分为3块,第一块存储的是22以内的数据,第二块存储的是23-48的数据,第三块存储的是49-86的数据 //如何让随机数据限定在一个范围内呢,可以利用除模加法的方式:例如:要让随机数在m<=r<=n,公式:rand()%(n-m+1)+m if(i<6) { a[i]=rand()%23; cout<<a[i]<<" "; } if(i>=6 && i<12) { a[i]=rand()%26+23; cout<<a[i]<<" "; } if(i>=12 && i<18) { a[i]=rand()%39+48; cout<<a[i]<<" "; } } int m; cout<<"\n请输入查找的数据\n"; cin>>m; if(m<=22) { int i; for(i=0;i<6;i++){ if(m==a[i]) { cout<<"你要查找的数据:"<<a[i]<<endl; break; }}if(i==6){ cout<<"error\n";} } if(m>22 && m<=48) {int j; for(j=6;j<12;j++){ if(a[j]==m) { cout<<"你要查找的数据:"<<a[j]<<endl; break; }}if(j==12){ cout<<"error\n";} } if(m>48 && m<=86) {int k; for(k=12;k<18;k++){ if(a[k]==m) { cout<<"你要查找的数据:"<<a[k]<<endl; break; }}if(k==18){ cout<<"error\n";} } return 0;}
0 0
- 查找算法之索引顺序查找
- 查找算法之顺序查找
- 查找算法之顺序查找
- 查找算法之顺序查找
- 查找算法整理之索引查找
- 索引顺序表查找算法(分块查找算法)
- 【查找算法】——顺序查找、折半查找、分块查找(索引查找)
- 查找算法之顺序搜索
- 分块查找\索引顺序查找
- 索引顺序表查找算法(分块查找)
- 查找之索引查找
- 查找算法一之顺序查找 二分查找
- 查找算法之顺序查找和二分查找
- 查找之顺序查找
- 查找之顺序查找
- 查找之顺序查找
- 静态查找之折半查找,索引顺序表
- 索引顺序表查找
- 深入理解java 整型数, Integer的缓存
- SyntaxNet安装与使用详解
- MySQL修改root密码的多种方法
- python函数
- IPC三种通讯方式详解
- 查找算法之索引顺序查找
- STL容器知识总结
- linux/android常用工具
- 一个简洁的PHP操作Access类
- PAT(basic level) 1037 在霍格沃茨找零钱(20)
- 装载问题
- windows版本千寻差分SDK的配置与使用
- python学习日记(一)
- 微指令格式和编码方法学习笔记(未完)