算法思想就是:每读入一个字符后,创建一个临时结点,字符放进此节点数据域中,用尾巴指针指向临时结点,临时结点再作为尾巴结点。将尾巴结点的尾巴指针指向NULL。
代码:
public LinkList CreatListR1(void){ //用尾插法建立带头节点的单链表 char ch; LinkList head = (ListNode*)malloc(sizeof(ListNode));//生成头结点 ListNode *s,*r;//工作指针 r = head;//尾指针也指向头结点 while((ch=getchar()!=‘\n‘)){ s=(ListNode*)malloc(sizeof(ListNode));//生成新结点 s->data = ch;//将读入的数据放入新结点的数据域中 r->next = s; r=s; } r->next = null;//尾结点的指针域置空 return head; }
原文:http://blog.csdn.net/howlaa/article/details/19083939