1. 程式人生 > >頭插法和尾插法建立單鏈表

頭插法和尾插法建立單鏈表

#include <iostream>
using namespace std;
struct LNode{
	int data;
	LNode *next;
};

typedef LNode* LinkList;

void input(int *data){
	cin>>*data;
} 

void creatList(LinkList *L,int n){                   //之所以用LinkList *L 而不是LinkLinst L,是因為得到了這個指標的地址,就得到了這個指標, 
	LinkList s;	                                    //如果用LinkList l,則只能的到這個指標指向的內容,卻得不到這個指標。 
	*L=new LNode;                                   //建立頭結點 
	(*L)->next=NULL;
	for(;n>0;n--){
		s=new LNode;
		input(&s->data);							//頭插法 
		s->next=(*L)->next;							//將s增加到開始節點之前 
		(*L)->next=s;
	} 
}

void creatListBack(LinkList *L,int n){
	LinkList p,s;									//尾插法 
	p=*L=new LNode;
	for(;n>0;n--){
		s=new LNode;
		input(&s->data);
		p->next=s,p=s;
	}
	p->next=NULL;
} 

int main(void){
	int n;
	LinkList L;
	creatList(&L,n);
	return 0;
}