数据结构

一、数组

a = [1,2,3]

  • size 获取数组的长度
  • [] 索引
  • pop (不常用, 因为我们在实战当中, 不轻易改变某个变量的结构.) 取出最后一个元素, 并且,数组发生改变(少了一个元素)
  • push (也不常用) pop的反义词.
    往往对它做循环操作
    操作演示:


    image

二、Hash 哈希

key,value组成的结构,也有很多语言,管它叫字典( dictionary )
a = {:name => 'jack', :sex => 'male'} #key => value

  • 常用方法:[]


    image
  • 还有其他的方法,但是不常用, 包括:
    keys,返回所有的keys;
    key?来判断, 某个字符串, 是否是该hash的key;
    所有的key, 都是完全不一样的. 不会出现 重复的key;
    用在无数的地方,比如:
    参数
    作为缓存(cache) 的一种实现;
    在rails中 , 会大量的用到hash

三、集合(set)

[1,2,3]是一个数组,也是一个集合;
[2,2,3]是数组,不是一个集合;
集合可以认为是由多个元素组成的数据结构,特点:

  • 集合中的元素,没有重复的
  • 集合中的元素顺序是打乱的
    操作演示:


    image

    方法:

  • add往集合里添加元素
  • to_a 可以转化成数组
    做web开发虽然很少用到,但是它是非常重要的数组结构

四、树

例如:

    a
 /  |   \
b   c   d

a:叫父节点,在最顶端的时候,叫root(根),b,c,d子节点或者叫叶子节点,a.children列出所有子节点 # [b,c,d];
a.parent列出父类的节点,XML就是一种非常典型的树状结构,在web开发中, 后端很少用到树, 在前端, jquery, css选择器中,会大量的用到.
而且,在jQuery中, 会让我们非常方便的操作这个树 .

你可能感兴趣的:(数据结构)