運用頭插法和尾插法交互式的建立單鏈表?

typedef char ElemType;
typedef struct LNode                             //定義單鏈表節點類型
{
	ElemType data;                               //存放元素值
	struct LNode *next;                          //指向後繼節點
}LinkList;

從一個空表開始,重複讀入數據,生成新節點,將讀入數據存放到新節點的數據域中,然後將新節點插入到當前鏈表中,直到讀入結束標誌爲止,在這裏,我們以字符'z'作爲結束標誌。

//頭插法插入元素
void createlist(LinkList *&L)
{
	ElemType k;
	LinkList *p;
	L=(LinkList *)malloc(sizeof(LinkList));
	L->next=NULL;
	while(1)
	{
	scanf("%c",&k);
	if(k=='z')
		break;
	p=(LinkList *)malloc(sizeof(LinkList));
	p->data=k;
	p->next=L->next;
	L->next=p;
	}
}
//尾插法插入元素
void createlist(LinkList *&L)
{
	ElemType k;
	LinkList *r,*s;
	L=(LinkList *)malloc(sizeof(LinkList));
	r=L;
	while(1)
	{
		scanf("%c",&k);
		if(k=='z')
			break;
		s=(LinkList *)malloc(sizeof(LinkList));
		s->data=k;
		r->next=s;
		r=s;
	}
	r->next=NULL;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章