int Locate_Sq(sqList &L , ElemType e ,status equal(ElemType , ElemType))这样的函数声明是不允许的,函数不可以直接做函数的参数,可以考虑用函数指针作为参数。但是呢,你这里不需要使用这种方式,直接在你的函数里面调用equal函数就好。
int Locate_Sq(sqList &L , ElemType e ,status equal(ElemType , ElemType))函数的第一行,ElemType p,根据你后面用的,这里的p应该是个指针,因此呢,我猜应该这样写ElemType *p
int Locate_Sq该函数的作用应该是返回元素在表内的位置,如果没有该元素则返回一个不可能的值,例如-1,因此该函数的返回值应该改成,if(i<=L.length) return ;else return -1;
delete函数里,根据上面第3条,k=Locate_Sq(C,B.elem[i],equal);后面的if需要修改为,if(k==-1) i++;
delete函数里q=A.elem+A.length-1;这一句的思想是对的,但是里面变量类型需要注意搞一致。
delete函数里的for是用来把后面的元素向前移动,因此,指针需要向后移动,用后面的结点覆盖前面的结点,因此for得改为for(;p
希望采纳,期待对你有帮助,欢迎追问