算法思想就是:每读入一个字符后,创建一个临时结点,字符放进此节点数据域中,用尾巴指针指向临时结点,临时结点再作为尾巴结点。将尾巴结点的尾巴指针指向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;
}