《数据结构实验4》--查找
来源:互联网 发布:长岛的雪 知乎 编辑:程序博客网 时间:2024/04/28 03:33
实验五:查找
一、实验目的
1、掌握查找的不同方法,并能用高级语言实现查找算法。
2、熟练掌握顺序表的查找方法和有序顺序表的折半查找算法以及静态查找树的构造方法和查找算法。
3、掌握二叉排序树的生成、插入、删除、输出运算。
二、实验内容
1、有序顺序表的二分查找的递归算法。
2、对输入数据构造二叉查找树 ,建立二叉查找链表结构,并能实现查找、插入、删除等操作。
二分查找:
#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int ii;#define Debug(a,n) for(ii=0;ii<(n);ii++){cout<<(a)[ii]<<" ";}#define ff 100005int a[ff],n,m;//递归式的二分查找int Bin_Search(int p[],int low,int high,int key){if(low < high){int mid=(low+high)>>1;if (p[mid] == key) return mid;else if (p[mid] < key) return Bin_Search(p,mid+1,high,key);else return Bin_Search(p,low,mid-1,key);}else return -1;}//非递归式的二分查找int Search_Bin(int p[],int low,int high,int key){int mid;while(low < high){int mid=(low+high)>>1;if(p[mid] == key)return mid;else if(p[mid] < key) low=mid+1;else high=mid-1;}return -1;}int main(int argc,char *argv[]){freopen("in.txt","r",stdin);int i,j;while(scanf("%d",&n)!=EOF){for(i = 0; i < n; i ++){scanf("%d",&a[i]);}Debug(a,n);printf("\n");sort(a,a+n);Debug(a,n);printf("\n----------------------------------\n");scanf("%d",&m);int pos = Bin_Search(a,0,n,m);printf("the position of the num : %d you search is : %d\n",m,pos);pos = Search_Bin(a,0,n,m);printf("the position of the num : %d you search is : %d\n",m,pos);printf("----------------------------------\n");}return 0;}
0 0
- 《数据结构实验4》--查找
- 哈工大数据结构实验4 查找与排序
- 数据结构实验-查找-哈希表
- 【数据结构实验七】查找
- 数据结构上机之实验查找
- 数据结构实验:查找和排序
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找六:顺序查找
- 数据结构实验之查找六:顺序查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找六:顺序查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找六:顺序查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找六:顺序查找
- 数据结构实验之查找四:二分查找
- 实例学习gcc+gdb+make
- Hadoop对输入文件划分(InputFormat)
- 机房收费系统(一)——组合查询
- 学习FPGA的网站推荐
- Matlab基础学习------------数组和矩阵
- 《数据结构实验4》--查找
- 配置ssh公钥访问oschina
- 超级楼梯
- 使用接插件需要注意的问题
- 软考---21天复习心得
- 35 求一个矩阵中最大的二维矩阵(元素和最大)
- Single Number
- Qt--常用控件认识(一)——tablewidget
- DSP6000的上电及供电