注册 登录
编程论坛 数据结构与算法

关于链表尾插法的问题

后青春的诗 发布于 2012-03-25 15:55, 420 次点击
尾插法:正序输入 n 个数据元素的值,建立不带头结点的单链表。
LinkList Create_LinkList2( )// 为什么不能像LinkList CreateList_L(LinkList &L, int n)这样定义
{
   LinkList L=NULL;
   LNode *s,*r=NULL;
   int x; //设数据元素的类型为int
   scanf("%d",&x);
   while (x!=flag)
   {
      s=(LNode *)malloc(sizeof(LNode));//这个地方还有没有其他的写法 如s=new Node?
      s->data=x;
      if (L==NULL) L=s; //第一个结点的处理
      else r->next=s; //其它结点的处理
      r=s; //r 指向新的尾结点
      scanf("%d",&x);
   }
     if ( r!=NULL)
     r->next=NULL; //对于非空表,最后结点的指针域放空指针
     return L;
   }

[ 本帖最后由 后青春的诗 于 2012-3-25 16:45 编辑 ]
2 回复
#2
爱德华2012-03-25 22:07
所谓的尾插法   和头插法差不多  就是在需要尾插节点的后一个节点头插。
#3
zhoufeng19882012-03-26 00:13
1、为什么不能像LinkList CreateList_L(LinkList &L, int n)这样定义
&在C++为引用,如何定义得看你如何设计设计结构吧?这东西也不是死的。
2、这个地方还有没有其他的写法 如s=new Node?
C一般都用malloc,C++用new。
1