不带头结点的单链表的建立

建立该链表利用的是尾插法

// 创建一个单链表,没有头结点,
#include <iostream>
#include <ctime>

using namespace std;
//------------------------------------------------
//************************************************
// 结构名 LNode ;
// 结构的作用:单链表的节点
// 节点数据的说明: data 关键字
//               next 指向下一个节点的指针
//**********************************************
struct LNode
{
	int data;
	LNode *next ;
};
//------------------------------------------------
//**********************************************
// 函数名:LinkCreate();
// 函数的功能:建立一个不带头结点的单链表
// 参数说明: head 指向链表第一个节点的指针
//          size 链表节点的个数
// 注意:在该函数里链表里关键字是rand()函数生成的随机数,不是利用scanf()函数输入的
//**********************************************
void LinkCreate(LNode *&head ,int size ) // size表示链表节点的数目
{
	head = NULL ;

	LNode * p = NULL ;
	LNode * q = NULL ;

	for (int i =0; i< size ;++ i)
	{
		p = new LNode ;
		p->data = rand()%1000; //生成随机数
		p->next = NULL ;

		if (head == NULL )
		{
			head = p ;
			q = p ;
		}
		else 
		{
			q->next = p ;
			q = p ;
		}
	}
}

//------------------------------------------------
//**********************************************
// 主函数
//**********************************************
int main()
{
	srand(time(0));

	LNode * p ;
	LinkCreate(p,10);

	while (p != NULL  )
	{
		cout << p->data << endl;
		p = p->next; 
	}

	return 0;
}
//------------------------------------------------

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值