6.C语言数据结构 静态链表基本操作

本节是建立在已能成功创建静态链表的基础上,因此我们继续使用上节中已建立好的静态链表学习本节内容,建立好的静态链表如图 1 所示:

建立好的静态链表


                                                                        图 1 建立好的静态链表

 

静态链表添加元素

例如,在图 1 的基础,将元素 4 添加到静态链表中的第 3 个位置上,实现过程如下:

  1. 从备用链表中摘除一个节点,用于存储元素 4;
  2. 找到表中第 2 个节点(添加位置的前一个节点,这里是数据元素 2),将元素 2 的游标赋值给新元素 4;
  3. 将元素 4 所在数组中的下标赋值给元素 2 的游标;


经过以上几步操作,数据元素 4 就成功地添加到了静态链表中,此时新的静态链表如图 2 所示:


                                                                        图 2 添加元素 4 的静态链表


由此,我们通过尝试编写 C 语言程序实现以上操作。读者可参考一下程序:

//向链表中插入数据,body表示链表的头节点在数组中的位置,add表示要插入元素的位置,a‘表示要插入的数据
void insertArr(component* array, int body, int add, char a)
{
	int tempBody = body;//tempBody做遍历结构体数组使用
	//找到要插入位置的上一个节点在数组中的位置
	for (int i = 1; i < add; i++) {
		tempBody = array[tempBody].cur;
	}
	int insert = mallocArr(array);//申请空间,准备插入
	array[insert].data = a;

	array[insert].cur = array[tempBody].cur;//新插入节点的游标等于其直接前驱节点的游标
	array[tempBody].cur = insert;//直接前驱节点的游标等于新插入节点所在数组中的下标
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值