主题:看一看!瞧一瞧!
这是元素定位操作的算法(在顺序表中"查询"是否存在一个和给定值满足判定条件的元素的最简单的办法是,依次取出结构中的每个元素和给定值进行比较)
算法 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
谁能写出一个完整的程序啊!!!
算法 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
谁能写出一个完整的程序啊!!!