SO 社区 我将在2020年1月参加CSUF。作为加州州立大学所有CS学生的要求,您必须参加考试才能升入高年级课程。该大学在他们的网站上发布了一个样本。
我正在尝试在这方面领先一步,完成样本考试并开始复习我可能需要的任何其他主题。到目前为止,我一直在考试中表现良好,但我的第二个问题遇到了问题。
问题2:https://i.stack.imgur.com/GO1pa.png
我已经访问了他们在问题中陈述的所有资源,除了IntListNode.cpp
提供的资源: https://i.stack.imgur.com/aqpfP.png
正如问题所述,我开始创建AddAtPosition(int elem,int pos(
void IntegerListt::AddAtPosition(int elem, int pos) {
if(pos == 0)
{
addFront(elem);
}else if (pos >= size())
{
IntListNode* temp = head;
while(temp != NULL)
{
if(temp->getNext() == NULL)
{
IntListNode* newElem = new IntListNode(elem, NULL);
temp->getNext() = newElem;
}
temp = temp->getNext();
}
}
这不是一个完整的函数:我只考虑了一个位置 [0] 和位置>= size((。
我的目标是在列表末尾添加一个节点。
我尝试使用各种不同的方法来解决这个问题,但似乎卡住了。
资源
http://www.fullerton.edu/ecs/cs/resources/files/test.cpp
http://www.fullerton.edu/ecs/cs/resources/files/IntegerList.cpp
http://www.fullerton.edu/ecs/cs/resources/files/IntegerList.h
http://www.fullerton.edu/ecs/cs/resources/files/IntListNode.h
-我没有修改资源上的任何内容...只添加了我的函数来添加一个元素-
我也明白
temp->getNext() = newElem;
这是不可能的,因为 getNext(( 返回一个值并且不可分配,但我找不到在不修改代码的情况下这样做的方法。
TL;博士
我正在尝试使用提供给我的资源在列表末尾添加一个节点,而不修改它们,但我觉得提供给我的资源不会帮助我完成此操作,除非我修改。
我的进度是上面的功能。
In IntListNode.h
void setNext(IntListNode* newnext) { next = newnext; }
在整数列表中.cpp
if(temp->getNext() == NULL) {
IntListNode* newElem = new IntListNode(elem, NULL);
temp->setNext(newElem);
}