《大话数据结构》读后总结(九)

线性表

顺序存储结构的插入与删除

获得元素操作
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
/* Status是函数的类型,其值是函数结果状态代码,如OK等 */
/* 初始条件:顺序线性表L已存在,1≤i≤ListLength(L) */
/* 操作结果:用e返回L中第i个数据元素的值 */
Status GetElem(SqList L, int i, ElemType *e)
{if (L.length == 0 || i < 1 || i > L.length)return ERROR;*e = L.data[i - 1];return OK;
}
复制代码
插入操作
/* 初始条件:顺序线性表L已存在,1≤i≤ListLength(L), */
/* 操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1 */
Status ListInsert(SqList *L, int i, ElemType e)
{int k;/* 顺序线性表已经满 */if (L->length == MAXSIZE)                       return ERROR;/* 当i不在范围内时 */if (i < 1 || i >L->length + 1)                  return ERROR;/* 若插入数据位置不在表尾 */if (i <= L->length)                             {/*将要插入位置后数据元素向后移动一位 */for (k = L->length - 1; k >= i - 1; k--)    L->data[k + 1] = L->data[k];}/* 将新元素插入 */L->data[i - 1] = e;                             L->length++;return OK;
}
复制代码
删除操作
/* 初始条件:顺序线性表L已存在,1≤i≤ListLength(L) */
/* 操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1 */
Status ListDelete(SqList *L, int i, ElemType *e)
{int k;/* 线性表为空 */if (L->length == 0)                    return ERROR;/* 删除位置不正确 */if (i < 1 || i > L->length)            return ERROR;*e = L->data[i - 1];/* 如果删除不是最后位置 */if (i < L->length)                     {/* 将删除位置后继元素前移 */for (k = i; k < L->length; k++)    L->data[k - 1] = L->data[k];}L->length--;return OK;
}
复制代码

线性表的顺序存储结构,在存、读数据时,不管是哪个位置,时间复杂度都是O(1);而插入或删除时,时间复杂度都是O(n)。

线性表顺序存储结构的优缺点

欢迎扫描下方二维码,持续关注:

互联网工程师(id:phpstcn),我们一起学习,一起进步

转载于:https://juejin.im/post/5ca5d0e351882544097e23e8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于router name 的url重写 --frontname rewrite frontname重写!

对于tag 也就是在url中有tag的url&#xff0c;希望改成wholesale等其他方式&#xff0c; 1 参看blog插件方式&#xff1a; 在etc/config.xml中添加事件&#xff1a; <events> <sitemap_add_xml_block_to_the_end> <observers> …

初中级工程师如何快速成长和寻求突破

大家好&#xff0c;我是若川&#xff0c;最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以加我微信 ruochuan12 参与。前言写这篇文章的初衷是因为看到…

ajax使用html()后样式无效,jquery.ajax使用字符串拼接后内联css样式失效

问题所在:是这样的,我使用ajax调用了一串json数据,使用字符串拼接的方法动态插入div容器.结果css并没有对动态插入的内容加css样式.代码描述:css使用的内联,在head部分, jquery使用外联,在body后.我尝试过:$(function(){}) //入口函数加载window.onload function(){} //原生do…

ios 按钮图片充满按钮_iOS有一些非常危险的按钮-UX评论

ios 按钮图片充满按钮I recently bought a cool thing off Amazon. It’s an adapter for iPhone, making it easy to transfer photos from your big bulky camera to your phone. The adapter itself is very easy to use: simply insert your SD card and plug the adapter …

URLScan工具配置方法第1/2页

本文分步说明如何配置 URLScan 工具以防止 Web 服务器受到攻击和利用。 如何配置 URLScan 工具察看本文应用于的产品文章编号 : 326444最后修改 : 2007年3月14日修订 : 5.3我们强烈建议所有运行 Microsoft Windows Server 2003 的用户将 Microsoft Internet 信息服务 (IIS) 升级…

poj 1809

///一个点的坐标只有四种可能&#xff0c;用0表示 偶数&#xff0c;1表示奇数 &#xff0c;则四种可能为&#xff08;0,0&#xff09;&#xff0c;&#xff08;0,1&#xff09; ///&#xff08;1,0&#xff09;&#xff0c;&#xff08;1,1&#xff09;。观察公式A|x1y2 - y1…

swiftui_SwiftUI的混合包

swiftui介绍 (Introduction) SwiftUI introduced us to a whole new way of designing and coding interfaces. Gone are the old ways of subclassing UIKit (or AppKit) classes and hardwiring layout constraints. Instead, we now have a nice, declarative way of struct…

三年经验前端社招——有赞

大家好&#xff0c;我是若川&#xff0c;祝大家中秋节快乐。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12 参与。…

html的 button点击事件无效,InfoWindow里面加button,监听button点击事件无效 求解啊...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼点击infoWindw中的button按钮&#xff0c;无效果&#xff1b;覆盖默认的dom结构html,body,#container {width: 100%;height: 100%;margin: 0px;}p.my-desc {margin: 5px 0;line-height: 150%;}//创建地图var map new AMap.Map(con…

4月第1周业务风控关注 |国家广播电视总局发布《未成年人节目管理规定》

易盾业务风控周报每周呈报值得关注的安全技术和事件&#xff0c;包括但不限于内容安全、移动安全、业务安全和网络安全&#xff0c;帮助企业提高警惕&#xff0c;规避这些似小实大、影响业务健康发展的安全风险。 1、国家广播电视总局发布《未成年人节目管理规定》 国家广播电视…

Ubuntu 11.04 x64 下安装Python

在网上搜了下&#xff0c;找到了如下安装顺序&#xff1a; Install python2.7 wget http://www.python.org/ftp/python/2.7/Python-2.7.tar.bz2 tar xjf Python-2.7.tar.bz2 cd Python-2.7/ ./configure make sudo make altinstall Install setuptools cd .. wget http://pyp…

数据挖掘 点击更多 界面_8(更多)技巧,可快速改善用户界面

数据挖掘 点击更多 界面重点 (Top highlight)Creating beautiful, usable, and efficient UIs takes time, with many design revisions along the way. Making those constant tweaks to produce something that your clients, users, and yourself are truly happy with. I k…

Node.js+Express+MongoDB 实现学生增删改查

前言 选用Node.js&#xff0c;Express&#xff0c;MongoDB来实现一个学生信息的增删改查。 Express框架搭建服务器art-template模板实现页面MongoDB数据库Mongoose操作数据库安装 npm install express mongoosenpm install art-template express-art-templatenpm install body-…

html5波浪线条,HTML5 svg炫酷波浪线条动画插件

这是一款HTML5 svg炫酷波浪线条动画插件。该波浪动画插件基于tweenMax和SVG&#xff0c;也可以作为jQuery插件来使用&#xff0c;可以制作出漂亮的波浪线条动画特效。使用方法在页面中引入jquery和TweenMax.min.js文件&#xff0c;以及wavify.js和jquery.wavify.js文件。HTML结…

三年经验前端社招——腾讯微保

大家好&#xff0c;我是若川。祝大家中秋节快乐。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12 参与。本文经作者…

Matlab数理统计工具箱应用简介

1&#xff0e; 概述 Matlab 的数理统计工具箱是 Matlab 工具箱中较为简单的一个&#xff0c;其牵扯的数学知识是大家都很熟悉的数理统计&#xff0c;因此在本文中&#xff0c;我们将不再对数理统计的知识进行重复&#xff0c;仅仅列出数理统计工具箱的一些函数&#xff0c;这些…

matlab绘制路线图_绘制国际水域路线图

matlab绘制路线图Two years ago, Shopify was only available in English. Few people in Germany or Japan had heard about us. We had only just formed the international growth team to make Shopify available to people in their native tongue.两年前&#xff0c;Shop…

2021年江苏高考各科成绩查询,江苏2021年高考总分及各科分数

江苏2021年高考总分及各科分数2021-04-16 08:46:02文/董月江苏高考将实施“33”模式&#xff0c;即语数外三门必考&#xff0c;然后在物理、化学、生物、历史、政治、地理六门学科中任选三门进行考试&#xff0c;并计入总分。“6选3”中的3门以等级确定&#xff0c;折算成分数计…

碎片时间学习前端,我推荐这些~

大家好&#xff0c;我是若川。祝大家中秋节快乐。前端技术日新月异&#xff0c;发展迅速&#xff0c;作为一个与时俱进的前端工程师&#xff0c;需要不断的学习。这里强烈推荐几个前端开发工程师必备的优质公众号&#xff0c;希望对你有所帮助。大家可以像我一样&#xff0c;利…

windows 端口冲突解决

windows 端口冲突解决 命令 说明 ps&#xff1a;我这里要解决的80端口冲突。 命令 netstat -ano&#xff0c;列出所有端口的使用情况&#xff0c;在列表中我们观察被占用的端口。 netstat -aon|findstr “PID” 查看被占用端口对应的PID&#xff0c;这里的"PID"是上一…