链表建立:头插法和尾插法

typedef struct LNode
{
	int data;
	struct LNode* next;
}LNode, *LinkList;

//建:头插法

void CreatList_func1(LinkList &L, int n)
{
	LNode *p;    // 不断建立节点的临时储存指针
	L = (LNode*)malloc(sizeof(LNode)); // 建立空表头节点
	L->next = NULL;
	// 输入n个数据
	for (int i = 0; i < n; i++)
	{
		p = (LNode*)malloc(sizeof(LNode)); //p指向一个新的节点空间;
		scanf("%d", &p->data); //读入数据 
		//把新的节点插入到头节点和第一个节点之间 
		p->next = L->next;  //新节点指向第一个节点 
		L-next = p;	  // 头节点指向新节点 
	} 	
} 

//建:尾插法

void CreatList_fuc2(LinkList &L, int n)
{
	LNode *p; //不断建立节点的临时储存指针
	LNode *tail; //永远指向尾节点 
	L = (LNode*)malloc(sizeof(LNode));
	L->next = NULL;
	tail = L; 
	//输入n个数据 
	for (int i = 0; i < n; i++) 
	{
		p = (LNode*)malloc(sizeof(LNode));  //p指向一个新的节点空间;
		scanf("%d", &p->data);  //读入数据 
		//把新节点连接到末尾 
		tail->next = p;   //末尾节点连到新节点,进而新节点变成末尾节点 
		tail = p; // 始终指向末尾节点 
	}
 } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值