数据结构 - c 线性表

重新回顾了算法,发现又有更简单的领悟,分享如下:

顺序存储-数组形式

数组实际上就是一个mini的数据库,在需要实时性的场合下,使用数组作为小型的临时存放点是主流思路,既然是数据库就必然存在几大基本操作,插入,删除,查找,下面对这几种操作构建流程图便于理解。
以下实现方式均以c代码实现

Created with Raphaël 2.2.0 插入操作- (输入 某类型的x、i变量 数组头指针) 数组的最后一位是否等于最大数-1 print表已满 i<1或在倒数第三指针以内 输出非法 temp 获得最后一个位置为j,判断j>=i-1 j-- i-1 = x 最后的指针自加 yes no yes no yes no

函数实现了插入操作,体现了一定的项目管理思想,在设计的时候必须思考全面,注意全部的事项。

查找函数

Created with Raphaël 2.2.0 插入操作- (输入 某类型的x、 数组头指针) while判断 i = 0 i小于数组的i位置变量不等于X return i return -1 yes no

函数实现了返回所给变量在数组中的下标/指针

删除函数

Created with Raphaël 2.2.0 插入操作- (输入 某类型的i变量 数组头指针) i<1或j>数组末尾指针 print 无位置 j + + j=i或 j 小于等于尾指针 PtrL->Data[j-1] = PtrL-Data[j] 结束 yes no yes no

数组这种顺序存储有其弊端,不能普适所有的应用环境,链表应运而生,链表更加接近于数据库,可以充分的使用硬盘离散空间,代价是更慢的速度,但是时间复杂度为n,线性增长是可以接受的。
链表的操作同样是增删查,
其中查找有两种方式其一为

Created with Raphaël 2.2.0 查找操作- (链表头指针,K变量) p && cnt<K if cnt ==t return p->Data return error yes yes no

========存在一点问题,回头修改

Created with Raphaël 2.2.0 插入操作- (输入 某类型的x、i变量 数组头指针) PtrL->Last == MAXSIZE-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值