回 帖 发 新 帖 刷新版面

主题:[原创]动手能力

看书的时候觉得数据结构不是那么难,可是上机才发现做一个简单 的实现单链表老是错。我是用C++编的,
#include  <iostream.h>
template <class int >
struct Node 
{
      
     Node()
     {
         link=NULL;

     }
     Node(int e,Node *next)
     {
          element=e;
          link=next;

     }
     int  element;
     Node *link;

};
void BuildList(Node<int >*first)
{
      int e;
      char c;
      Node<int >*p,*r=NULL;
      first=NULL;
      for(int j=0;j<6;j++)
      {
           cin>>e;
           p=new Node<int >(e,NULL);
           if(first!=NULL)
               r->link=p;
           else
              first =p;
           r=p;
         
             
      }
}
void main()
{
     
     Node <int >*first =NULL;
     BuildList(first);

}有高手可以给我看一下吗,要是可以给我编一个最简单的例子也行。我是真想学好数据结构啊。

回复列表 (共3个回复)

沙发

你没有给Node *first分配空间,用指针时得注意

板凳

void BuildList(Node<int >*& first) {...}
                          ~你需要改变实参first,所以必须传引用或者地址

3 楼

另外, template <class int > 这样可以通过编译吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册