【发布时间】:2023-03-21 15:21:01
【问题描述】:
#include <iostream>
using namespace std;
struct node
{
int num;
node * next;
};
//Create a list, if list is not empty have at least first middle and last node
void cList (node *);
//inserts a node
void iANode(node *);
//Inserts in order
void iIOrder(node *);
void main(){
int numM;
node *list, *current;
list = new node;
current = list;
cout<<"Input"<<endl;
cin>>numM;
//creates a list
void clist(node * record){
node * head = new node;
(*head).d1=0;
(*head).next =0;
return head;
}
//inserts a node
void iANode(node * record)
{
(*newnode).next = (*pred).next;
(*pred).next= new node;
++(*phead).counter;
}
//inserts in order
void iIOrder(node * new node, node*head){
node *pred = head;
int i = (*new node).d1;
node*succ=(*pred);
}
}
我正在尝试创建一个链表并在每次用户输入后对其进行排序。
目前出现大量编译错误。如果有人可以帮助并指出正确的方向,我将不胜感激。
提前致谢。 编译错误:
“cList”和“iANode”的局部函数定义是非法的
";"在 cList 中的“节点 * 记录”之后丢失
在“void iIOrder(node * new node”)中的节点之后期望“)”
【问题讨论】:
-
将函数定义移出 main() 函数。
-
如果你迫切需要一个列表,这里有
std::list。但我更推荐std::vector。 -
什么编译错误?他们有什么不明白的地方?
-
void main不好。int main很好。还有很多内存泄漏。 -
另外(假设您正在尝试学习 C++),您正在像 C 一样编写此代码。相反,您应该有一个带有成员函数的
class。
标签: c++ sorting pointers linked-list