W07CHAP06.3数据组织查找.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
int b = 0; b = BinarySearch(a, searchKey, 0, aSize-1, aSize); if (b != -1) cout 查到该数在数组中为: a[ b ]\n; else cout 数组中无此数!\n; return 0; } // MAIN() END 折半查找的程序输出 结 束 任务描述: 如何在一个数组中查找某个指定的元素,即回答该元素是否存在?如果存在,它在哪里? 线性查找与折半查找 如何在数组中查找一个指定的数? 或者:回答某个数是否在数组中? 线性查找与折半查找 线性查找与折半查找 线性查找与折半查找 线性查找与折半查找 线性查找与折半查找 线性查找与折半查找 for (int i=0; iSizeofAA; i++) if (AA[i] == key) return i; // found! AA key 线性查找方法是一种典型的 “枚举思想”的应用 线性查找与折半查找 AA key 前提:数组AA中元素是有序存放的。 不妨设 AA[0] … AA[sizeof(AA)] 线性查找与折半查找 AA key middle key ? AA[middle] 线性查找与折半查找 AA key middle if (key == AA[middle]) ... if (key AA[middle]) ... if (key AA[middle]) ... 线性查找与折半查找 AA key middle 2. if (key AA[middle]) ... middle 线性查找与折半查找 AA key middle if (key == AA[middle]) ... if (key AA[middle]) ... if (key AA[middle]) ... 线性查找与折半查找 AA key middle 3. if (key AA[middle]) ... middle 折半查找的参考源程序 //************************** //* 作者:wuwh * //* 时间:2003.6.20 * //* 功能:二分法查找数 * //************************** #include iostream #include iomanip using namespace std; int BinarySearch(int AA[], int Key, int low, int high, int sizeofAA) { int middle = 0; while (low = high) { middle = (low + high) / 2; if (Key == AA[middle]) return middle; else if (Key AA[middle]) high = middle - 1; else low = middle + 1; } return -1; // not found! (why -1?) } int main() { const int aSize = 100; int a[aSize]; for (int i=0; iaSize; i++) { a[i] = i*i+1; cout setw(4) a[i] ((i+1) % 10 == 0 ? \n : ); } int searchKey; cout 请输入一个待查正整数: ; cin searchKey;

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档