数据结构C++,线性表的头插法、尾插法建立链表

#include 
#include 
#include 
#define N 5

struct LNode{
	int data;
	struct LNode *next;
};
//创建随机数组 
void createArr(int a[]){
	srand(1);
	for(int i=0;inext;
	while(p){
		printf("%-2d",p->data);
		p = p->next;
	}
	printf("\n");
}
//头插法建立链表 
void createListH(LNode *&l,int a[],int n){
	printf("%s","开始头插法建立链表!\n"); 
	LNode *p;
	l = (LNode*)malloc(sizeof(LNode));
	l->next = NULL;
	for(int i=0;idata = a[i];
		//关键代码
		p->next = l->next;
		l->next = p; 
	}
	printf("%s","头插法建立链表完成!\n"); 
}
//尾插法建立链表 
void createListT(LNode *&l,int a[],int n){
	printf("%s","开始尾插法建立链表!\n");
	LNode *p,*q;
	l = (LNode*)malloc(sizeof(LNode));
	l->next = NULL;
	q = l;
	for(int i=0;idata = a[i];
		//关键代码 
		q->next = p;
		q = q->next;
	}
	q->next = NULL; 
	
}
int main(){
	int a[N];
	createArr(a);
	printArr(a);
	
	LNode *l;
	createListH(l,a,N);
	printList(l);
	createListT(l,a,N);
	printList(l);
	
	return 0;
}

在学校电子阅览室给手机充电,顺便敲了敲生疏的代码。:)

你可能感兴趣的:(C)