为了账号安全,请及时绑定邮箱和手机立即绑定
讲的不错,支持一下
老师讲课好像在绕口令,哈哈

已采纳回答 / 小白_ing
可以,这样没错,其实没必要再另外建一个Node的指针变量哈,James老师在LiseDelete()中其实就没有再建一个临时的Node指针了哈。
所以说不招就没事了。。
判空还是更习惯这样写return m_iLength == 0;

最新回答 / kming
因为在c语言中没有对象这个东西,函数和数据是独立的,函数要处理List *list,肯定要作为参数传进来,才能知道函数要处理的是List *list,c++里面这个函数是对象的成员函数,要处理的就是对象本身的数据,可以省略,也可以传入*this
插入i节点时是不是口误说错了顺序
慢慢学++
插入过程不能让 m_iLength超过m_iSize吧。。
BOOL ListInsert(List *list,int i,Elem *e);//在第i个位置上插入元素
BOOL ListDelete(List *list,int i,Elem *e);//删除第i个位置的元素
void ListTraverse(List *list);//遍历线性表
int LocateElem(List *list,Elem *e);//寻找第一个满足e的数据元素的位序
BOOL PriorElem(List *list,Elem *currentElem,Elem *preElem);//获取指定元素的前驱
BOOL NextElem(List *list,Elem *currentElem,Elem *nextElem);//获取指定元素的后继
BOOL InitList(List **list);//创建线性表
void DestroyList(List *list);//销毁线性表
void CleanList(List *list);//清空线性表
BOOL ListEmpty(List *list);//判断线性表是否是空
int ListLength(List *list);//获取线性表长度
BOOL GetElem(List *list,int i,Elem *e);//获取指定元素

最新回答 / Posin丶biting
不知道你问的是顺序表还是链表,如果是顺序表的话就是要删除元素后一位元素开始,依次往前移动一位即可。然后Length--就可以了。链表的话,这样应该说不通!
好像明白了。。。插入到length的位置上相当于把数组延长一个单位
最后一个位置不应该是length-1吗,怎么会是length,感觉插入失败的条件应该为i<0或者i>=length
课程须知
"本课程是数据结构初级课程 1、熟练掌握C++语言基础语法"
老师告诉你能学到什么?
1、顺序表的工作原理 2、顺序表的实现方法及编码技巧 3、链表的工作原理 4、链表的实现方法及编码技巧 5、通讯录的实现原理及编码技巧

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消