顺序表的插入.

Slides:



Advertisements
Similar presentations
《礼记 · 学记》学习心得报告 教育的本质与运用 主讲人:徐浩明. 一、认识什么是教育 二、明白教育的本质 三、如何落实德行教育.
Advertisements

數學社群 教學分享 和平國小 陳淑渟老師 數學社群 教學分享 和平國小 陳淑渟老師. 小一常發生的 學習困難 定位板的應用 序數的學習 困難與教學 突破 主題大綱.
健康.安全年 製作 : 黃靜怡. 安全第一,我想,這是一句大家都耳熟能詳的話吧,說安全, 簡單的說,就是注意自己、眼睛要看、耳朵要聽,不要莽莽 撞撞的,安全是大家所期望的,而父母總是常常掛念我們, 就是希望我們能安全,畢竟,孩子是父母一輩子的牽掛,會 擔心我們的,往往就是關心我們的人,每個人都希望自己做.
【大願文教基金會】園藝治療師 黃盛璘督導、王麗玲執行. 年齡在 2 足歲以上 18 歲以下,經醫學中 心或區域醫 院鑑定為 重度、極重度 身心障礙,不具行動能 力、且不能自理生活,並持有身心障礙 手冊的新北市居民。 八里愛心教養院~服務對象.
第二十九课 致儿子书 张之洞.
如何陪伴孩子度過 高三歲月.
把人的生命写在教育的旗帜上 了解一个案件 欣赏一篇散文 学习一种理念 感悟一个故事.
六大原因造成 現代人身體酸性化.
報告書名:父母會傷人 班級:二技幼四甲 姓名:吳婉如 學號:1A2I0034 指導老師:高家斌
兵 车 行 杜甫.
景区讲解常用方法.
班級愛心小護士訓練 臺南市東區勝利國小 健康中心.
媽,我們真的不一樣 青少年期與中年期 老師: 趙品淳老師 組員: 胡珮玟4A1I0006 馬菀謙4A1I0040
第2课 大一统与秦朝中央集权制度的确立 课标要求: 知道“始皇帝”的来历和郡县制建立的史实,了解中国古代中央集权制度的形成及其影响。
第十四篇 答李翊書 韓 愈.
项目四 营业税 山东经贸职业学院 财政金融系.
史記 貨 殖 列 傳                                                            商业篇.
敬业·创业·乐业 ——我的成长之路 赵谦翔.
四年七班親師會 自信學習,健康成長.
醫療旅遊.
社會發展學系 簡 介.
人物小传:杨嘉嵋,1975年出生,国家 重点四川大学本科毕业,中国传媒大学博士毕业,现为上海政法学院讲师。多次发表学术论文:《试论社会主义法治的目标和现代法治精神的培育》发表于钦州师范高等专科学校校报2000年04期,《西部在引进,利用外资中应重视的问题及对策》发表于四川师范学院学报2000年05期,《试论毛泽东的刑法思想》发表于达县师范高等专科学校学报2001年01期,《美国著名主持人的十点共性》发表于中国广播电视学刊2007年08期,《我国电视法治节目的现状与提升》发表于新闻战线2008年08期。
第二章 语用的主要要素分析 第一节 语境 第二节 预设 第三节 角色 第四节 视角.
从从容容中考去.
美麗的星空 陳弦希製作.
性別刻板印象.
初三8班(上) 期末总结班会.
初三(上) 期末总结班会.
高考复习专题 文言文翻译
班級:二幼三甲 姓名:郭小瑄 、 詹淑評 學號:1A2I0029 、1A2I0025
一週菜單設計.
改革开放给我们带来的变化 系别:11商务流通系 班级:物流四班 组员:物四男生组.
大村國小 尋根之旅.
那年我參加瑞士巴塞爾博覽會, 除了接單做貿易,還零售賣品, 以擴大出口商品的影響。
指導老師:陳韻如 姓名:吳宜珊 學號:4A0I0911 班級:幼保二乙
西安国际港务区 入区企业相关地方税收 知识培训
第二章 线性表 £2.4 线性表的应用 £2.1 线性表的类型定义 £2.2 线性表的顺序存储结构 £2.3 线性表的链式存储结构
第二章 线性表 2.1 线性表的逻辑结构 一. 线性表定义如下:
傳統童玩遊戲創新 組別:第八組 班級:幼保二甲 組員: 4A0I0005柯舒涵 4A0I0011謝孟真
食物在口腔里的变化.
酒 中国是一个 文化历史悠久的国家.
理解常见文言实词在文中的含义.
杨玉环(公元719-756年) 杨玉环,名玉环,字太真,唐玄宗李隆基的宠妃,原名杨芙蓉(故有芙蓉出水),出生地为四川成都,祖籍山西永济。杨贵妃自小习音律,善歌舞,姿色超群。曾祖父杨汪是隋朝的上柱国、吏部尚书,唐初被李世民所杀,父杨玄琰(yǎn),是蜀州(四川崇州)司户,其叔父杨玄璬(jiǎo)曾任河南府士曹,杨玉环的童年是在四川度过的,10岁左右,父亲去世,她寄养在洛阳的三叔杨玄璬家。后来又迁往山西永乐(山西永济)。 
左迁至蓝关示侄孙湘 韩愈.
科普说明文 生物入侵者 高天群.
文化底蕴与作文 第一节:底蕴成句 【温馨点拨】:底蕴成句是把含有文化底蕴的内容表达成句。底蕴成句有三种情况:
计算机软件技术基础 数据结构与算法(2).
第三章 线性表 3.1 线性表的类型定义 3.2 顺序存储的线性表 3.3 链式存储的线性表 3.4 有序表 3.5 顺序表和链表的综合比较.
制作:崔广才
本 章 说 明 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式存储结构 2.4 循环链表和双向链
第2章 线性表 丽水学院工学院.
第2章 线性表 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.4 一元多项式的表示.
线性表是一种最简单的线性结构 线性结构的基本特征为: 线性结构 是 一个数据元素的有序(次序)集 1.集合中必存在唯一的一个“第一元素”;
第 3 讲 线性表(一).
内容回顾 线性表的定义和特点 线性表的顺序存储及查找、插入和删除.
线性表练习.
cn/~dongeliu/dsa.html 刘 东 信息学院6系 中国科学技术大学
王玲 第 2 章 线性表 王玲 2019/2/25.
严蔚敏、吴伟民编著 清华大学出版社 学习网站:中国网页设计
顺序表的删除.
顺序查找.
线性结构 线性结构的特点: 线性结构的种类 在数据元素的非空有限集中, (1)存在唯一的一个被称做“第一个”的数据元素;
第 四 讲 线性表(二).
第二章 线性表.
第三章 数据组织与处理.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
西安交通大学计教中心 ctec.xjtu.edu.cn
算法3.3 void InitList_sq(SqList &L,int msize=LIST_INIT_SIZE)
第二章 线性表 线性表是一种最简单的线性结构 线性结构是一个数据元素的有序(次序)集.
第二章 线性表 东南大学计算机学院 方效林 本课件借鉴了清华大学殷人昆老师 和哈尔滨工业大学张岩老师的课件.
Presentation transcript:

顺序表的插入

线性表的插入操作是指在线性表的第i-1个数据元素和第i个数据元素之间插入一个新的数据元素,就是要使长度为n的线性表 (a1,…,ai-1 ,ai,…,an) 变成长度为n+1的线性表 (a1,…,ai-1 ,b,ai,…,an) 顺序表的插入

线性表的插入操作是指在线性表的第i-1个数据元素和第i个数据元素之间插入一个新的数据元素,就是要使长度为n的线性表 (a1,…,ai-1 ,ai,…,an) 变成长度为n+1的线性表 (a1,…,ai-1 ,b,ai,…,an) 顺序表的插入 数据元素ai-1 和ai之间的逻辑关系发生了变化。在线性表的顺序存储结构中,由于逻辑上相邻的数据元素在物理位置上也是相邻的,因此,除非i=n+1,否则必须移动元素才能反映这个逻辑关系的变化。

数据元素 数据元素 序号 序号 1 12 2 13 3 21 4 24 5 28 6 30 7 42 8 77 1 12 2 13 3 21 4 24 5 顺序表的插入 插入25 25 6 28 7 30 8 42 9 77

一般情况下,在第i(1<=i<=n)个元素之前插入一个元素时,需将第n至第i个元素向后移动一个位置,共需要移动n-i+1个元素。 当在第一个元素之前插入一个新的元素时,需要移动n个元素,当在第n个元素之后插入一个新的元素时,需要移动0个元素。 所以,在插入任何位置都是等概率的前提下,顺序表中插入一个新的元素平均需要移动n/2个元素。 顺序表的插入

算法思想如下所示: (1)判断插入位置i是否合法,若不合法则返回ERROR; (2)判断顺序表的存储空间是否已满,若满则返回ERROR; (3)将第n至第i个位置的元素一次向后移动一个位置,空出第i个位置; (4)将要插入的新元素e放入第i个位置; (5)表长加1。 插入一个新的元素

Status ListInsert_Sq(SqList &L,int i ,ElemType e){ if(i<1 || i>L Status ListInsert_Sq(SqList &L,int i ,ElemType e){ if(i<1 || i>L.length+1) return ERROR; //i值不合法 if(L.length==MAXSIZE) return ERROR; //当前存储空间已满 for(j=L.length-1;j>=i-1;j--) L.elem[j+1]=L.elem[j]; //插入位置及之后的元素后移 L.elem[i-1]=e; //将新元素e放入第i个位置 ++L.length; //表长增1 return OK; } 参考算法代码

该算法的时间复杂度应该是O(n)。另外,上述算法没有考虑顺序表空间的动态扩充问题,如果空间不够,应该怎么办呢? 如果使用C++的new和delete来申请和释放内存空间的话,应该首先申请一段更大的内容空间,再将顺序表的元素复制到新的空间中去,再释放原来顺序表的空间。