当前位置: 网站首页>小程序开发>网站开发

定州微信公众号开发【定州网络推广】定州建站、定州网站维护、定州网页制作、定州微信小程序代运营公司

发表日期: 2021-04-13 14:23:37 浏览次数:121

定州微信公众号开发【定州网络推广】定州建站、定州网站维护、定州网页制作、定州微信小程序代运营公司


定州市,河北省辖县级市,由保定市代管, [1]  是河北省省直管县(市)体制改革试点县(省直管县行政区划隶属关系不变 [2]  ), [3-4]  是全省重点培育的新兴区域中心城市。连续4年获评全国中小城市投资潜力百强、新型城镇化质量百强,晋级全国科技创新百强,入围全国县域经济强县。面积1283平方公里,截至2019年,定州市常住总人口123.09万人,辖25个乡镇(办),542个村(社区)。 [5-6] 

定州市位于京津冀经济区,是京津冀经济区重要节点城市 [7]  ,国家新型城镇化综合试点地区 [8]  ,河北省十二五规划重点培育的现代化中等城市 [9]  ,河北省十大历史文化名城之一。

2019年,定州市户籍总户数37.3万户,户籍总人口124.1万人,比上年增加0.3万人。常住总人口123.09万人,比上年末增加0.4万人。 [6]  2019年,定州市生产总值实现3330429万元,比上年增长7.1%。按常住人口计算,定州市人均地区生产总值为27101元。 [6]  2020年9月,入选河北省食品产业强县(市、区)(培育型)名单。 [10]  2020年12月,入选河北省数字乡村试点地区名单。

示例 6.4

示例6.1中表(1)的长度是8,而表(2)的长度是6。表(3)的长度为12,因为每个月都要占据一个位置。而表中只有3个元素这一事实对表的长度来说是无关紧要的。

6.2.2 表的部分

如果表非空,那么它就是由称为表头(head)的第一个元素,以及称为尾部(tail)的表中其余部分组成的。例如,示例6.1中表(2)的表头就是“氦”,而该表的尾部则由其余5个元素组成:

(氖,氩,氪,氙,氡)

元素和长度为1的表

谨记,表的表头是个元素,而表的尾部却是表。此外,我们不应该将表的表头(假如为a)与只包含一个元素a 的长度为1的表(通常会写为带括号的(a))混淆。如果元素a 是T 类型的,那么表(a)就是“T 表”类型的。

如果不能认识到这种区别,就可能在用数据结构实现表时造成编程错误。例如,我们可以用互相链接的单元表示表,这些单元通常是结构体,具有存放T 类型元素的element字段,以及存放指向下一单元的指针的next字段。那么元素a 就是T 类型的,而表(a)则是具有存放着aelement字段和存放着NULLnext字段的单元。

如果有表L=(a1,a2,…,an),则对满足1≤ijn 的i 和 j 来说,(ai ,ai+1,…,aj )是L 的子表。也就是说,子表是由从某个位置i 开始到某个位置j 结束的所有元素组成的。还可以说空表ε 是任何表的子表。

L=(a1,a2,…,an)的子序列是指从L 中剔除0个或多个元素后形成的表。剩下的这些元素,也就是构成子序列的这些元素,必须按照与出现在L 中相同的顺序排列,不过子序列的元素在L 中不一定是连续的。请注意,ε 和表L 本身总是L 的子序列,而且L 的子表也是L 的子序列。

示例 6.5

L 是字符串abc,那么L 的子表有

εabcabbcabc

它们也都是L 的子序列。除此之外,ac也是子序列,但它不是子表。

再举个例子,设L 是字符串abab,那么子表就有

εababbaababababab

这些也是L 的子序列。除此之外,L 还有子序列aabbaababb。请注意,bba这样的字符串不是L 的子序列。即便L中确实有两个b和一个a,但它们在L 中出现的顺序,不能让我们通过从L 中剔除某些元素构成bba。也就是说,在L 中,第二个b后面是没有a的。

前缀是指从表的开头开始的任意子表。表后缀则是以表的结尾为末尾的子表。空表ε 是种特殊情况,它是任意表的前缀和后缀。

示例 6.6

表的前缀有εaababc,而它的后缀是εcbcabc

Car和Cdr

在Lisp语言中,表头叫作car,而尾部则称为cdr(音“cudder”)。术语“car ”和“cdr ”的名字来源于IBM 709型计算机中机器指令的两个字段,Lisp最早就是在该型计算机上实现的。car表示“contents of the address register”(地址寄存器的内容),而cdr则表示“contents of the decrement register”(减量寄存器的内容)。某种意义上讲,存储字(memory word)可以视为有着elementnext字段(分别对应car和cdr)的单元。

6.2.3 表中元素的位置

表中的每个元素都有与之关联的位置。如果有表(a1,a2,…,an),而且n≥1,a1就是第一个元素,a2就是第二个元素,以此类推,而an 则是最后一个元素。还可以说ai 出现在位置i。除此之外,ai 是ai-1之后,在ai+1之前。而存放元素a 的位置则称作a 的出现

表中位置的数量就等于表的长度。同一元素是有可能出现在两个或多个位置的,因此不要把位置和出现在该位置的元素弄混了。例如,示例6.1中的表(3)就有12个位置,其中有7个存放着31,分别是位置1、3、5、7、8、10和12。

6.2.4 习题

1. 针对表(2,7,1,8,2)回答以下问题。

(a) 它的长度是多少?

(b) 它的前缀有哪些?

(c) 它的后缀有哪些?

(d) 它的子表有哪些?

(e) 它有多少个子序列?

(f) 它的表头是什么?

(g) 它的尾部是什么?

(h) 它包含多少个位置?

2. 对字符串banana重复习题1中的练习。

3. ** 在长度为n≥0的表中,最多可能有多少(a)前缀;(b)子表;(c)子序列?而最少又分别可能有多少?

4. 如果表L 尾部的尾部是空表,那么L 的长度为多少?

5. * 胡图写了个由整数表组成的表,不过他省略了括号,结果成了:1,2,3。而这可以表示很多由表组成的表,比如((1),(2,3))。那么在不含空表作为元素的情况下,所有可能的表都有哪些?

6.3 对表的操作

可以对表执行多种不同的操作。第2章中,当我们讨论归并排序时,基本问题就是为表排序,不过我们还需要将表一分为二,再合并两个已排序的表。从形式上讲,为表(a1,a2,…,an)排序的操作就是将表替换为由其元素的排列组成的表(b1,b2,…,bn),其中b1b2≤…≤bn。这里就像之前一样,≤表示元素的次序关系,比如整数或实数的“小于或等于”,或是字符串的词典次序。合并两个已排序表的操作是用给定的两个表构建一个包含其中相同元素的已排序表。多重性必须得到保持,也就是说,如果某个元素a 在给定的两个表中出现了k 次,那么得出的表中a 也出现k 次。回顾2.8节就能看到对表的这两种操作的示例。

6.3.1 插入、删除和查找

回想一下5.7节,“词典”是可以对其执行插入删除查找操作的元素集合。集合与表之间存在一个重要区别。虽然元素在集合中绝不能出现多次,但正如我们所见,元素在表中可出现多次。集合的问题将在第7章中讨论。不过,表可以实现集合,其方式是将集合{a1,a2,…,an}中的元素以任意次序放置到表中,例如次序(a1,a2,…,an),或次序(an,an-1,…,a1)。因此,如果一些对表的操作与对集合的词典操作类似,应该不会让人感到奇怪。

1. 可以向表L 中插入元素x。从原则上讲,x 可能出现在表中任何位置,而且x 在L 中出现一次或多次都是没关系的。我们通过在表中增加一次x的出现来插入x。作为一种特例,如果让x 作为新表的表头(这样一来L 就成了尾部),就是将x 压入L 中。如果L=(a1,a2,…,an),那么得到的表就是(x,a1,a2,…,an)。

2. 可以从表L 中删除元素x。这里,是从L 中删除x 的一次出现。如果x 出现多次,那么就要指出删除哪个x。例如,我们可以总是删除第一个x。如果想要删除所有的x,就要重复删除操作,直到不再剩下x 为止。如果表L 中未出现x,那么删除操作就不会造成任何影响。作为特例,如果是删除了表的表头元素,使表(x,a1,a2,…,an)变成了(a1,a2,…,an),就说是弹出表。

3. 可以在表L 中查找元素x。这一操作会返回TRUEFALSE,具体取决于x 是否为表中元素。

示例 6.7

L 为表(1,2,3,2)。如果我们选择压入1,也就是将1插入到表头位置,则insert (1,L )的结果是(1,1,2,3,2)。而若是将1插入到末尾,就得到(1,2,3,2,1)。此外,这个新的1还可以被放置到表L 内部3个位置中的任何一个上。

如果删除表中第一个2,那么deletemax (2,L )的结果是表(1,3,2)。若问lookup (xL ),则当x为1、2或3时,答案为TRUE,而当x 为其他值时,答案为FALSE

6.3.2 串接

串接L 和表M,就是以L 的元素作为开头部分,后面接上M 的元素形成新表。也就是说,如果L=(a1,a2,…,an),而M=(b1,b2,…,bk),那么L 和M 的串接LM 就是表

(a1,a2,…,an ,b1,b2,…,bk )

请注意,空表是串接恒等的。也就是说,对任何表L 都有εL==L

示例 6.8

如果L 是表(1,2,3),M 是表(3,1),那LM 就是表(1,2,3,3,1)。如果L 是字符串dog,而M 是字符串house,那LM 就是字符串doghouse

6.3.3 表的其他操作

另一类对表的操作是与表的特定位置相关的。例如

(a) first (L )会返回表L 的第一个元素(表头),而first (L )会返回L 的最后一个元素。如果L 是空表,则这两种操作都会导致错误出现。

(b) retrieve (iL )操作会返回表L 中第i 个位置处的元素。如果L 的长度小于i,就会出错。

除此之外,还有涉及表的长度的操作。常见的包括下列两种。

(c) length (L ),返回表L 的长度。

(d) isEmpty (L ),如果L 为空表则返回TRUE,否则返回FALSE。而isNotEmpty (L )会返回相反的结果。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

定州微信公众号开发定州网络推广定州建站、定州网站维护、定州网页制作、定州微信小程序代运营公司

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: https://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878