数据结构与算法实战_线性结构

顺序表

一维数组
查找、插入、删除

C

init printList
在这里插入图片描述
insert
x插入到下标为k的位置
在这里插入图片描述
插入的下标可以是最后一个元素位置(length-1)的后一个(length)
在这里插入图片描述
在这里插入图片描述
delete
在这里插入图片描述
在这里插入图片描述

C++

在这里插入图片描述
在这里插入图片描述
在C++里迭代器是连续的,v.begin+2代表0号元素往后挪两个位置.
这里的insert 第一个参数必须是一个迭代器。
在这里插入图片描述
删除
在这里插入图片描述

JAVA

插入
在这里插入图片描述
在这里插入图片描述
删除
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

链表

C语言

头指针,在第一个位置插入节点会改变头指针的值。
头结点,在第一个位置插入新的结点,改变的只是头结点next域的值,并不会改变指向头结点指针的值。
在这里插入图片描述
typedef给指向结构体的指针起外号。
在这里插入图片描述
init 传的是指针的地址 所以用struct Node** p 承接
getLength 值传递,函数里head=head->next 只是改变的局部变量
在这里插入图片描述
printList 在这里插入图片描述
同样是值传递
在这里插入图片描述
插入
在这里插入图片描述

  • 插入的位置是个小于1的数字, 则直接返回0
  • 插入如果是第一个位置
    链表原来没有结点,新的结点t->next = null;(创建结点的时候就已经初始化了)
    链表原来有其他结点,则必须设置 t->next = *phead 否则链表将只有一个结点。
  • 插入的位置大于1,(count遍历前就设置为1)
    找不到k-1的位置 一直遍历到最后一个结点,p = null ,count 也没有到k-1.直接输出0
    可能找得到k-1的位置,从第一个结点往后遍历,不为空就count++,直到count = k-1(找到k-1的位置),指针指向第k-1个结点后,先栓新绳子,再解开旧绳子。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除
删除操作可能会改变链表的头指针(删除第一个结点的时候),所以

队列

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值