我如何将链表传递给另一个功能 [英] how do i pass the linked list to another function

查看:128
本文介绍了我如何将链表传递给另一个功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

void CreateList()
{
Node * head = NULL;
Node * connect = NULL;
int num,size;
cin>>尺寸;
for(int x = 0; x< size; x ++)
{
cin>> NUM;
if(head == NULL)
{
Node * newnode = new Node;
newnode-> data = num;
newnode-> next = NULL;
head = newnode;
connect = head;
}
else
{
Node * newnode = new Node;
newnode-> data = num;
newnode-> next = NULL;
connect-> next = newnode;
connect = newnode;
}

}


}

void Add()
{
?? ???????????
}

int main()
{
CreateList();

system("暂停");
}

void CreateList() { Node *head = NULL; Node *connect = NULL; int num,size; cin>>size; for (int x = 0; x<size; x++) { cin >> num; if (head == NULL) { Node *newnode = new Node; newnode->data = num; newnode->next = NULL; head = newnode; connect = head; } else { Node *newnode = new Node; newnode->data = num; newnode->next = NULL; connect->next = newnode; connect = newnode; } } } void Add() { ????????????? } int main() { CreateList(); system("pause"); }

我想创建一个具有特定大小的链表。然后在不同的函数中执行其他任务,如Add(),print(),reverse()等。

I want to create a linked list with a specific size. then perform other tasks in different functions such as Add(), print(), reverse(), etc.

我知道如何创建列表,但我不知道如何传递它到其他功能。有人可以帮帮我吗?

I know how to create the list, but i dont know how to pass it to the other functions. Can someone help me?

推荐答案

感谢您在此处发帖。

>>我知道如何创建列表,但我不知道如何将其传递给其他功能。有人可以帮助我吗?

在我看来,这取决于你在哪里称之为"其他"的函数。

In my opinion, it depends on where do you call the "other" functions.

1。如果其他函数与CreateList在同一个cpp文件中,那么您可以将链接列表定义为全局变量,并将其作为引用或指针传递给其他函数。例如:

1. If the other functions are in the same cpp file with CreateList, then you could define your linked list as a global variable and pass it as a reference or pointer into other functions. For example:

Node *newnode = new Node;

void CreateList(Node *newnode )
{
    ...
}

void Add(Node *newnode  )
{
    ...
}

2。您可以将CreateList的返回值定义为Node类型。然后你可以用它来传递到其他功能。例如:

2. You could define your CreateList's return value as a Node type. Then you could use it to pass into other functions. For example:

Node CreateList() { Node *newnode = new Node; return *newnode; } void Add(Node *newnode) { } int main() { Node *nodetest = NULL; *nodetest = CreateList(); Add(nodetest); system("pause"); }

希望这可以帮到你。

最好的问候,

Sera Yu


这篇关于我如何将链表传递给另一个功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆