pronsj
2015-01-21 08:28
采纳率: 50%
浏览 1.5k
已采纳

数据结构__考试题,求大神帮忙

typedef int ElemType;
typedef struct{
ElemType elem[N];//n为分配的最大空间量
int length;
} SqList;

试编写在线性表L中查找元素x的高效算法,若查询成功,则删除该元素,返回真,否则返回假。

bool SeachX(SqList &L,ElemType x){

......................................}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • threenewbee 2015-01-21 08:52
    已采纳

    int j = 0;
    for (int i = 0; i < L.length + j; i++)
    {
    if (null == L.elem[i])
    {
    j++;
    continue;
    }
    if (x == L.elem[i])
    {
    L.elem[i] = null;
    L.length--;
    return true;
    }
    }
    return false;
    刚才少了一行

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 91program 2015-01-21 08:38

    如果 elem 的数值是随机的,就采用顺序查找。
    如果 elem 的数据是按从大到小、或从小到大,可以考虑二分查找。

    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-01-21 08:41

    int j = 0;
    for (int i = 0; i < L.length + j; i++)
    {
    if (null == L.elem[i])
    {
    j++;
    continue;
    }
    if (x == L.elem[i])
    {
    L.elem[i] = null;
    return true;
    }
    }
    return false;

    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-01-21 08:42

    int j = 0;
    for (int i = 0; i < L.length + j; i++)
    {
    if (null == L.elem[i])
    {
    j++;
    continue;
    }
    if (x == L.elem[i])
    {
    L.elem[i] = null;
    return true;
    }
    return false;
    }

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题