c语言描述的静态查找表
2016-07-29 16:48
295 查看
顺序表的查找: 直接循环依次和目标比较就行 有序表的查找(二分查找): int search(SS *T,Type key){ int mid; int low=1; int high=T.length; while(low<=high){ mid=(low+high)/2; if(T.elem[mid]<key){ low=mid+1; }else{ high=mid-1; } } return high; } 二叉树表的查找:返回从上到下从左到右的序号(层序遍历,也可以用栈非递归遍历): int LevelSearch(BTNode *T,Type key){ int front=-1; int rear=-1; BTNode *Q[100]; Q[++rear]=T; printf("根节点的数据:",Q[rear]->data); while(front!=rear){ BTNode *p; p=Q[++front]; if(p->rTree){ Q[++rear]=p->rTree; if(Q[rear]==key){ return rear; } } if(p->lTree){ Q[++rear]=p->lTree; if(Q[rear]==key){ return rear; } } } }
相关文章推荐
- c++、java CRC16算法
- 字符串翻转和旋转问题和例题
- 数组中只出现一次的数字 C++
- Leetcode 64. Minimum Path Sum (Medium) (cpp)
- 趣味100道C语言程序题num nine
- C++中可调用对象
- 【c++】Huffman实现文件压缩
- POJ2456(复赛模拟试题) 好斗的奶牛 解题报告
- Cpp环境【POJ3258】【Usaco2006】【Vijos1329】River Hopscotch跳石游戏
- C语言实现大数据除法
- C语言深度剖析
- 红黑树
- c++函数返回引用
- C/C++语言学习计划
- 线段树专题#2_蒟蒻训练历程记录_HDU5775
- c语言 可变参数 三个点 ...
- 趣味100道C语言编程题num eight
- c++ 中的fill 和memset
- C++ STL 迭代器失效问题
- C++中的常量折叠