尾插法创建有头结点单链表

119 阅读1分钟

已知单链表长度

void createListFromTail(LinkList &L,int n){
	L= new ListNode;
	L->next=NULL;
	LinkList p,r =L;
	for(int i=0;i<n;i++)
	{
		p=new ListNode;
		cin>>p->data;
		r->next=p;
		r=p;
	}
	r->next=NULL;
	}

未知单链表长度,赋值为0时结束单链表的创建

void createListFromTail(LinkList &L)
{
	L=new ListNode;
	L->next=NULL;
	LinkList p,r =L;
	while(1){
		p=new ListNode;
		cin>>p->data;
		r->next=p;
		if(!p->data) break;
		else r=p;
	}
	r->next=NULL;
}

未知单链表长度,键盘输入回车结束单链表的创建

 void createListFromTail(LinkList &L)
{
	L=new ListNode;
	L->next=NULL;
	LinkList p,r =L;
	char a[0];
	int x;
	while(cin>>x){
		char s=getchar();
		p=new ListNode;
		p->data=x;
		r->next=p;
		r=p;
		if(s=='\n') break;
	}
	r->next=NULL;
}