| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 2296 人关注过本帖
标题:这个删除算法错在了哪里
只看楼主 加入收藏
qweiuy566
Rank: 2
等 级:论坛游民
帖 子:48
专家分:19
注 册:2016-1-27
结帖率:75%
收藏
已结贴  问题点数:14 回复次数:2 
这个删除算法错在了哪里
typedef int Status;
typedef char ElemType;
#include "status.h"
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10

class SqList{
private:
    ElemType *elem;
    int length;
    int listsize;
public:
    Status DestroyList();
};
//以下是我的删除算法,前面是定义的类
Status SqList::DestroyList()
{
    ElemType Head, P;
    if(length)  //若线性表L已存在
{
    Head=*elem;
    P=Head+1;
    while(!P) //把链表中除头结点外的所有结点释放
{
    free(Head);
    Head = P;
    P = Head+1;
}
    free(Head);//释放头结点  
    return OK;
}
    else
    return ERROR;
}
想了好久,也没明白。。。
2016-04-11 21:39
huzi741
Rank: 2
等 级:论坛游民
威 望:1
帖 子:7
专家分:14
注 册:2013-1-27
收藏
得分:10 
1:你的Head和P都不是指针,变量定义错误;
2016-04-12 12:55
超级无敌阳光
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2016-4-18
收藏
得分:0 
楼上正解,此外还有你线性表的长度应为L.length
2016-04-18 13:17
快速回复:这个删除算法错在了哪里
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074929 second(s), 8 queries.
Copyright©2004-2020, BCCN.NET, All Rights Reserved