【scratch】class_4_数据结构_数组和列表

数据结构 Data Structure

概念:数据结构是计算机存储、组织数据的方式

就好像现实生活中存储物品的箱子或者柜子。各种各样的数据结构,用以方便实现各种数据的存取。下面先来学习两个最基本的数据结构,数组和列表

数组 Array

概念:将相同类型的多个数据,按无顺序的形式组织在一起形成的集合。

就好像有多个格子的柜子,可以用来存放物品,数组就是用来存放数据的“柜子”;
数组基本概念

要素:数组有三个要素——长度、类型、索引

  1. 一个数组的长度在创建时就确定了,而且是不可以变化的。就好像我们拜托木匠给我们做一个柜子,这个柜子里有几个格子在做的时候就已经确定了,是不可以变化的。
  2. 和现实中的柜子不同的是,现实中的柜子可以装任何东西——只要能装的进去。但是数组能存放的数据类型一开始也是确定的,不能改变。就好像我们做一个柜子,只能装鞋子,或者只能装裤子。一个数组被创建时,必须声明它要存储的数据类型,要么只能装数字,要么只能装字符,等等。
  3. 索引就是柜子里边格子的编号,它代表了数据的位置。通过给格子编号,可以很方便的知道哪个格子里装的是什么东西,也能很方便的把编号对应的数据取出来,就好像超市的储物柜,或者澡堂放衣服的柜子。数组的要素

列表 List

列表有很多种,这里我们先介绍最简单的一种,ArrayList数组列表,又叫动态数组
它和上面介绍的数组几乎是一样的。最大的不同点是,它的长度是可变的,也就是说,可以随时在列表中添加新的数据。而且列表具有的操作方法可以很方便的帮助我们操作数据,这些方法是数组不具有的。

具体实现

在scratch工具,有列表的实现方式。
scratch中的列表
点击‘建立一个列表’,输入列表名称,就可以建立一个列表
建立列表后,在变量的下方出现许多操作列表的方法
建立列表
命令详解:

  • 将数据放入列表
    add
  • 删除第几项,点击后可以把对应项目删除。比如我们把第3项C删除
    delete
  • 删除所有项,可以用于清空列表
    deleteAll
  • 在第几项前插入,比如在第2项前插入‘天’字,第2项就变成了‘天’,后面的项依次往后排替换
  • 将第几项替换为,比如把第3项‘B’替换为‘人’
    替换项
  • 返回列表第几项,这里我们要用‘说话’功能查看输出效果,我们让小猫说第3项‘人’
    第几项
  • 列表中第一个某数据的编号,当列表中出现相同的数据时,这个命令返回该数据第一次出现的位置。比如列表中有3个C,我们返回第1个C的位置是4
    firstIndexOf
  • 列表的项目数,可以看到现在有6项
    length
  • 判断列表中是否包含某个数据,比如判断列表中是否包含‘人’这个字
    contains
    如果判断一个列表中没有的数据,他就会输出‘列表中不包含’这个数据
    notContains
  • 判断列表中是否包含某个元素也可以用上面的‘列表中第一个某数据的编号这个命令’,如果列表中包含这个数据,就会返回该数据的索引,且这个索引一定是大于0的;如果列表不包含这个数据,就会返回0。所以可以看返回结果是否大于0来判断该列表是否包含这个数据
    包含‘人’的情况
    contains2
    不包含‘地’的情况
    notContains

列表的遍历

遍历就是依次访问列表中的所有元素
遍历通常都要用到循环
假设列表中有从99到90十个数字,要快速访问这些数字,就要用到下面的方法
遍历列表的方法
效果如下
遍历列表

数组与列表使用是编程中的最基本的操作,之后我们还会学到各种各样的数据结构的使用方法,在那之前先要打好基础

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章