回 帖 发 新 帖 刷新版面

主题:看一看!瞧一瞧!

这是元素定位操作的算法(在顺序表中"查询"是否存在一个和给定值满足判定条件的元素的最简单的办法是,依次取出结构中的每个元素和给定值进行比较)
算法 2.5
  int LocateElem(SqList L, ElemType e,
          void (*compare)(ElemType, ElemType))
 {
  // 在顺序表L中查找第1个值与 e 满足判定条件compare( )的元素,
  // 若找到,则返回其在 L 中的位序,否则返回0。
  i = 1;         // i 的初值为第1元素的位序
  p = L.elem;       // p 的初值为第1元素的存储位置
  while (i <= L.length && !(*compare)(*p++,e))
   ++i;         // 依次进行判定
  if (i <= L.length) return i; 
             // 找到满足判定条件的数据元素为第 i 个元素
  else return 0;    // 该线性表中不存在满足判定的数据元素
 } // LocateElem 
谁能写出一个完整的程序啊!!!

回复列表 (共1个回复)

沙发

void (*compare)(ElemType, ElemType)
这个函数的算法没有写上去啊.这个是判断线性表 L与e是否相等的吗?

你这个主函数要是补的话 可少太多东西了.
线性表的定义函数没写.
线性表的插入函数也没写.
怎么补啊.

我来回复

您尚未登录,请登录后再回复。点此登录或注册