创建并打印链接列表

时间:2014-03-11 12:44:34

标签: c++ sorting pointers linked-list

#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);
    }
}

我正在尝试创建链接列表并在每次用户输入后对其进行排序。

目前收到大量编译错误。如果有人可以提供帮助并指出我正确的方向,我将不胜感激。

提前致谢。 编译错误:

  

本地函数定义对于&#34; cList&#34;是非法的。和&#34; iANode&#34;

     

&#34 ;;&#34;在&#34; node * record)&#34; cList

之后丢失      

期待&#34;)&#34;在节点之后&#34; void iIOrder(节点*新节点&#34;

1 个答案:

答案 0 :(得分:1)

  1. 使用 struct node * next ,而不是node * next。同样适用于* list和* current

  2. 某些编译器不接受void main(),尝试使用int main()

  3. 将所有函数实现放在main()

  4. 之外
  5. 将* current和* list声明为全局变量(在main()之外)

  6. C ++区分大小写,cList与clist不同。修复cList实现

  7. 不是错误,而是使用 - &gt; operator:head-&gt; num = 0;

  8. 结构节点中没有字段d1(函数cList和iIOrder)。使用字段编号

  9. 使指针无效使用NULL而不是0

  10. cList函数为void,但是你返回一个指针,改变返回值

  11. 在iANode函数中,您使用了大量未声明的变量。您可能想使用* list,* current和* record。

  12. 有一堆分析错误,但您要求语法错误。也许你以后会发现更多的错误,试着先解决这些问题。