C++ I';我被困在自定义链表上

C++ I';我被困在自定义链表上,c++,arrays,C++,Arrays,我应该制作一个链表,不使用结构,只使用数组。除了Tom应该是列表的末尾,并且需要显示if语句外,所有操作都按照讲师的要求进行。那是我唯一不能去工作的地方。提前谢谢你的帮助 #include<iostream> #include<string> using namespace std; int main() { int position[10] = {0,1,2,3,4,5,6,7,8,9}; string names[10] = {"dick", "Ha

我应该制作一个链表,不使用结构,只使用数组。除了Tom应该是列表的末尾,并且需要显示if语句外,所有操作都按照讲师的要求进行。那是我唯一不能去工作的地方。提前谢谢你的帮助

#include<iostream>
#include<string>
using namespace std;

int main()
{
    int position[10] = {0,1,2,3,4,5,6,7,8,9};
    string names[10] = {"dick", "Harry", "Sam", "Tom"};
    int link[10] = {1, 2, 3, 99, 5, 6, 7, 8, 9, 10, };
    int stkptr = 0;

    for(int i = 0; i < 10; i++)
    {
        if(stkptr == 99)
            cout<<"You have reached the end of the list."<<endl;
        else
            stkptr = link[stkptr];
        cout << names[i] << " is in position " 
             <<position[stkptr] << " and is linked to " << names[stkptr] << endl;
    }
    return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
int位置[10]={0,1,2,3,4,5,6,7,8,9};
字符串名[10]={“迪克”、“哈里”、“萨姆”、“汤姆”};
int-link[10]={1,2,3,99,5,6,7,8,9,10};
int stkptr=0;
对于(int i=0;i<10;i++)
{
如果(stkptr==99)

cout没有人评论你的else语句需要括号,我认为这说明了一个事实,即else只会执行下面的第一行。因此

else
    stkptr = link[stkptr];
    cout<<names[i]<<" is in position "<<position[stkptr]<<" and is linked to "<<names[stkptr]<<endl;

您必须重新构造程序,以便在任何数组查找之后将
stkptr
设置为99,并且您必须添加更多的逻辑,以避免整个
,并在查看Tom时链接到“…
,因为他没有链接到任何人。

您的链接设置不正确

链接[3]
中的99表示列表中没有第四个节点,只有3个

您希望在最后一个有效链接之后将99移动到

提示:您的列表显示为:0->1->2->99,仅显示有效节点0、1、2

提示2:用钢笔和纸画


如果您喜欢此答案,请单击它旁边的复选标记。

您的格式表明您需要
cout感谢您的帮助..什么帮助?关于编程语言,您的问题是什么?@LightnessRacesinOrbit前3个名称显示了它们应该显示的所有内容。显示Tom后,我需要在If语句中显示cout显示。到目前为止,我还没能做到show@Dorden:这不是一个关于编程语言的问题。这是一个关于你迄今为止所取得进展的事实陈述。
cout<<names[3]<<" is in position "<<position[99]<<" and is linked to "<<names[99]<<endl;