编程论坛's Archiver

fengchenjin 发表于 2008-6-21 16:09

急~~请高手帮忙~~谢谢

数据结构的

1、编写折半查找算法函数。

        该函数接收的参数:一个一维有序数组,和一个给定需要的查找值。(注意传递数组实际上已需要2个参数)
        函数功能:根据给定值,找出该值在数组中的位置(即下标),如果找不到,返回-1。
        要求:使用折半查找算法去实现。查找完成时,输出共比较了多少次。

    2、完成main函数。

        1)创建一个一维整数数组,里面放20个按降序排列的整数。
        2)调用第1步编写的函数,查找给定的整数在数组中的位置并输出,如果找不到输出“找不到”。

最好能用上以为这些内容,谢谢~~


#include <iostream>
using namespace std;
typedef struct
{
ElemType *Elem;
int length;
}SSTable


int Search_Bin ( SSTable ST, KeyType kval ) {
  low = 1;  high = ST.length;    // 置区间初值
  while (low <= high) {
      mid = (low + high) / 2;
      if (kval == ST.elem[mid].key  )
          return  mid;        // 找到待查元素
      else  if ( kval < ST.elem[mid].key) )
          high = mid - 1;      // 继续在前半区间进行查找
      else  low = mid + 1; // 继续在后半区间进行查找
  }
  return 0;                // 顺序表中不存在待查元素
} // Search_Bin


int main()
{
int a[13]={20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
int Search_Bin (ST, kval )
cin>>ST;
cin>>kual;


}

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.