- 41
- 0
- 约1.47万字
- 约 21页
- 2016-10-16 发布于贵州
- 举报
易语言算法入门读篇
易算法初步之一_线性表本系列讲座仅供初学编程且能熟练掌握易语言者学习。本讲座只讲一些基本的编程算法和对应概念。如果愿以学,每篇都需细细研读,彻底搞懂。写讲座很费时间。本人没有太多的业余时间。关键是水平实在有限,文笔实在是自犬,打字速度巨慢,所以讲座将不定期推出。当然,动力还是来自易友的支持和本人对易语言的感谢之情。算法需从头学起,先讲线性表吧。线性表的概念线性表作为最基本的数据结构,在编程中运用很广泛。线性表上的运算是比较简单和常用的,在研究线性表上的运算前,还是先讲讲线性表的有关概念。何谓线性表? 现实生活中线性表的例子很多。如,英文字母表(A-Z)是线性表,其中每个字母就是一个数据元素(也称结点)。易语言中的一维数组也是线性表。每个数据成员就是结点。可以发现这些结点的之间的特点就像是用一根线一把珍珠串在一起成为一根珍珠链。任何一个珍珠最多和两个珍珠相连。线性表(Linear List) 是由n(n=0)个数据元素(结点)a1,a2,.....,an组成的有序序列。其中数据元素的个数n定义为表的长度。当n=0时称为空表。常常将非空线性表(n0)记做:(a1,a2,.......,an)(排版局限就这样表示吧)。线性表的逻辑结构前面以讲过,现在用专业的语句给大家描述一下。线性表的逻辑特征,就是其结点的邻接关系。a1称为开始结点,它没有直接前趋(“直接前趋”,是指与它相邻且在它前面的结点。)而仅有一个直接后继,“直接后继”,是指与他相邻且在它后面的结点);an称为终端结点,它没有直接后继,而只有一个直接前趋。其余的内部结点ai(2=in-1)(a后面的字母都是小下标,没办法表示时用括号括住,^_^),有一个直接前趋a(i-1),和直接后继a(i+1)。明白了线性表的逻辑结构后,编程时的很多问题与此类似时,就可以抽象为线性表。在用线性表上的运算方法进行运算。在易语言中线性表的存储方式就是用一维数组。所以,我们把一维数组称为线性表。以后线性表上的运算,都是通过一维数组完成。线性表的其它存储结构在易语言中不易实现,不再我们现在的研究范围。关于结点 ?线性表是由一个个结点组成,结点间的邻接关系就构成线性表的逻辑结构。其内容我们以讲过。结点是什么呢?结点是数据的载体,它可以是简单的变量类型,更多时候是复杂的自定义数据类型的变量。线性表的运算。易语言以提供了一维数组的运算方法。我们现在研究他们到底是怎么实现的。理由就是,很多时候结点是很复杂的自定义数据类型的变量,这时的一维数组就无法用易语言提供的运算命令进行计算,这时就需要我们自己来写。线性表上的运算是最简单的,也是每个想学算法的人首先和必需掌握的。下节我们在讲吧
易语言算法入门(2) ?插入运算讲完线性表的有关概念,我们以一维数组为例来研究线性表上的基本运算。1.插入运算线性表的插入运算是指在线性表的第i(1=i=n)个位置上,插入一个新结点x,使线性表的长度为n+1。在易语言中,一维数组上插入一个数据可以直接调用 “无返回值 ?插入成员 (欲插入成员的数组变量,欲插入的位置,欲插入的成员数据)”系统命令。我们来研究它使怎么实现的。原理:原理很简单,当向一维数组的第i个位置插入一个数据时,第i个位置及它以后的数据依次都向后移动,将第i个位置腾出来后,把所要插入的数据写入该位置。算法:1.首先增加数组的长度。在易语言中可以用“加入成员”和“重定义数组”两种方法。前者可能更快些。2.移动数据。不破坏数据,当然是从数组的最后位置向前移动了。可设一个位置变量p指向最后位置。data 是定义的一维数组,长度为n。data[p],就是我们插入数组尾部的空数据。 data[p]=data[p-1] 把数组的倒数第二个数据移到尾部。然后p=p-1 ,p指向数组的倒数第二个数据, data[p]=data[p-1] 把数组的倒数第三个数据移到数组的倒数第二个位置上,......依次移动,最后把数组的第i个位置上的数据移到i+1的位置上。3.把需要插入的数据插入到data[i]。ok子程序:插入数据返回值类型:逻辑型参数:欲插入数组 ?数据类型:整数型 ?参考,数组参数:欲插入数据 ?数据类型:整数型参数:插入位置 ? ?数据类型:整数型局部变量:p ? ? ? 数据类型:整数型如果真 (插入位置 < 1 或 插入位置 > 取数组成员数 (欲插入数组))? ?返回 (假)如果真结束加入成员 (欲插入数组, 欲插入数据)p = 取数组成员数 (欲插入数组)判断循环首 (p > 插入位置)? ?欲插入数组 [p] = 欲插入数组 [p - 1]? ?p = p - 1判断循环尾 ()欲插入数组
您可能关注的文档
- 新课标人教版一级数学下册全册教案.doc
- 新课标人教版二级数学下册期中、期末试卷(9张).doc
- 新课标人教版小五年级数学下册第一二单元阶段测试卷.doc
- 新课标人教版小数学一年级上册单元试题_全册.doc
- 新课标人教版小数学六年级(下册)名校期末毕业测试卷.doc
- 新课标人教版高语文背诵篇目汇编.doc
- 新课标物理学科008届高三一轮复习资料(新课标必修1第一章第二章).doc
- 新课标莆田203-2014学年度下学期第二学段考试试卷附答案[编辑9页].doc
- 新课标高一数学修1第一章集合与函数概念单元测试题1.doc
- 新课标高考语文习必备训练4.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- DL∕T 781-2021电力用高频开关整流模块_PDF解密.docx VIP
- 2025公务员采矿专业测试题及答案.docx VIP
- 【历史】开学第一课课件--2024-2025学年统编版七年级历史下册.pptx VIP
- 大数据技术在企业会计风险管理中的创新应用 .docx VIP
- 新英语900句(中英文).pdf VIP
- 2025最新高一英语单项选择精编500题.docx VIP
- GBT 28259-2012 石油天然气工业 井下设备 井下安全阀.docx VIP
- 项目九 小学科学教学设计与实施.pptx VIP
- 2025年统编版中考语文课内文言文《桃花源记》三年中考试题+模拟题(学生版+解析).pdf VIP
- 山东省日照市2026届高三上学期期末考试政治试卷(含答案).pdf VIP
原创力文档

文档评论(0)