当前位置:首页 > 芯闻号 > 充电吧
[导读]1、顺序存储结构的创建,其实就是一个数组的初始化,即声明一个固定类型和大小的数组并赋值的过程。而单链表和顺序存储结构就不一样,它不像顺序存储结构那么几种,它可以很散,是一种动态结构。对于每个链表来说,

1、顺序存储结构的创建,其实就是一个数组的初始化,即声明一个固定类型和大小的数组并赋值的过程。

而单链表和顺序存储结构就不一样,它不像顺序存储结构那么几种,它可以很散,是一种动态结构。对于每个链表来说,

它所占用空间的大小和位置是不需要预先分配划定的,可以根据系统的情况和实际需求即时生成。

所以创建单链表的过程就是一个动态生成链表的过程。即从“空表”的初始状态起,依次建立各元素结点,并逐个插入链表。

---- 单链表整表创建的算法思路:

-- 1)声明一结点p和计数器变量 i ;

-- 2)初始化一空链表L;

-- 3)让L的头结点的指针指向NULL,即建立一个带头结点的单链表;

-- 4)循环:生成一新结点赋值给p     随机生成一数字赋值给p的数据域p->data   将p插入到头结点与前一新结点之间。

实现代码算法如下:


#include#includeusing namespace std;
typedef int Elemtype; 
typedef struct node
{
	Elemtype data;
	struct node *link;
} Node,*LinkList;
//typedef struct node *LinkList;
//typedef Node *LinkList;
/* 随机产生n个元素的值,建立带表头结点的单链线性表L(头插法)*/
void CreateList(LinkList *L,int n)
{
	LinkList p;
	int i;
	srand((unsigned)time(0)); //初始化随机数种子
	*L = (LinkList)malloc(sizeof(Node));
	(*L)->link = NULL;  //先建立一个带头结点的单链表
	for(i=0;idata = rand()%100+1;		//随机生成100以内的数字
		p->link = (*L)->link;		//指向第一个结点
		(*L)->link = p;			//插入到表头
	}
}

这段算法代码里,我们其实用的是插队的办法,就是始终让新结点在第一的位置。可以把这种算法简称为头插法。


也可以每次把新结点都插在终端结点的后面,按照排队时的正常思维,所谓的先来后到,这种算法称之为尾插法。

实现代码算法如下:


#include#includeusing namespace std;
typedef int Elemtype; 
typedef struct node
{
	Elemtype data;
	struct node *link;
} Node,*LinkList;
//typedef struct node *LinkList;
//typedef Node *LinkList;
/* 随机产生n个元素的值,建立带表头结点的单链线性表L(尾插法)*/
void CreateList(LinkList *L,int n)
{
	LinkList p,r;
	int i;
	srand((unsigned)time(0)); //初始化随机数种子
	*L = (LinkList)malloc(sizeof(Node));
	r = *L;		//r为指向尾部的结点
	for(i=0;idata = rand()%100+1;		//随机生成100以内的数字
		r->link = p;			//将表尾终端结点的指针指向新结点
		r = p;				//将当前的新结点定义为表尾终端结点
	}
	r->link = NULL;
}


L是指整个单链表,而 r 是指向尾结点的指针,r是会随着循环不断的变化,L则是随着循环增长为一个多结点的链表。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

电子数据的存储与共享在我们生活中占据越来越重要的地位,而传统的硬盘存储已然难以满足人们日益增长的数据存储需求,为此网络附加存储(NAS)则以其便捷、高效的特点,逐渐受到广大用户的青睐。但是提到NAS,很多人可能会觉得它是...

关键字: 存储 铁威马NAS 硬盘存储

4月25日,以“分享鸿蒙技术特性,交流鸿蒙生态共建”为主题的HDD·行业沙龙在江西武功山成功举行。华为产品专家们现场带来了诸多精彩分享,吸引了来自政务、金融、新闻资讯等多个行业的四十余家软件服务商到场参加。

关键字: 鸿蒙 华为 智能设备

4月25日,2024(第十八届)北京国际汽车展览会拉开序幕,车展以“新时代·新汽车”为主题,一直持续到5月4日。本次车展将有全球首发车117台(其中跨国公司全球首发车30台),41款概念车及278款新能源车型展出。

关键字: 北京车展 新能源汽车 电动汽车

LED驱动模块RSC6218A 5W-18W迷你高效驱动电源应用,小功率、小体积、高效率

关键字: LED驱动模块 驱动电源应用 LED电源芯片

业内消息,近日台积电在北美技术研讨会上宣布,正在研发 CoWoS 封装技术的下个版本,可以让系统级封装(SiP)尺寸增大两倍以上,实现 120x120mm 的超大封装,功耗可以达到千瓦级别。

关键字: CoWoS 台积电 封装

据外媒报道,字节正在内部探索出售TikTok美国业务多数股权,并援引内部人士披露的信息称 “沃尔玛或为最理想买家”。报道还称,讨论中的一种情况是字节出售美国50%以上TikTok股份,但保留少数股权。

关键字: 字节跳动 TikTok

业内消息,HMD 正在计划重启一些经典的诺基亚功能手机。今年 3 月初,该公司预告了将于 5 月发布的一款功能手机。现在该机的身份已经曝光,新款诺基亚 3210 的谍照已经泄露,展现了新机部分新特性。

关键字: 诺基亚 功能机 HMD

业内消息,近日有一位网友在各大社交媒体发文表示,自己离职后,公司将自己所有的期权全部作废。

关键字: 期权 微博

业内消息,在昨天的中关村论坛未来人工智能先锋论坛上,生数科技联合清华大学正式发布中国首个长时长、高一致性、高动态性视频大模型——Vidu。Vidu是自Sora发布之后全球率先取得重大突破的视频大模型,性能全面对标Sora...

关键字: Sora 清华 AI Vidu

近日,2024中关村论坛年会发布了10项重大科技成果名单,其中“转角氮化硼光学晶体原创理论与材料”备受关注。

关键字: 激光
关闭
关闭