教孩子学数据结构,要循序渐进,不能一口吃成胖子。红黑树对4岁小孩来说太复杂,不妨先从一维数组学起。& q+ f9 n8 o$ s- d+ b" w
所以这个时候,你就应该拉孩子在电脑前坐下,说:宝宝别急,我们先学习数组吧!你知道数组是什么吗?小孩就会点点头说知道。然后你说,那我们来声明一个utf-16数组吧!一共十个元素,除了第五个元素是0x1F7E8 ,其他都是 0x1F7EB,宝宝会做吗?于是小屁孩用力点了一下头,写出:9 D4 l4 M, S4 l" E" j8 U# T
let array = [' x4 j( B8 p0 g6 n
0x1F7EB,( ]0 Q: z" h y) Z! a
0x1F7EB,% J( r' I1 x; t6 k, ]8 ^5 n/ P
0x1F7EB,
6 w" ~! q0 |- \. y 0x1F7EB,
o3 Z+ m* e- \/ f 0x1F7E8,
7 I$ `6 z3 A! s* x' d 0x1F7EB,, z1 x6 J8 X- d. L9 ~" I
0x1F7EB,. H K; P7 O6 R& p( C. S
0x1F7EB,$ X# F4 n' Y5 o% g
0x1F7EB,
, p) R9 x) l+ h 0x1F7EB,4 l$ ^5 }4 L, G- P! ]) X
];, O |3 z7 {: z; `$ O' S
看到小孩懂得数组,你满意地点了点头,继续鼓励他说,那宝宝能不能把这些UTF字符打印出来呀?经过几次调试,小孩终于写出了:
6 Z! m! [3 d$ _8 tfor (let i of array) {
+ _1 e6 E* A, O2 c) ^1 M process.stdout.write(String.fromCodePoint(i));$ Y7 c' v( c" k+ x6 V8 {" e
}/ E5 L/ C0 b ^! W6 A; I6 K# {
看到小孩学会了循环,你向小孩投向了赞许的目光,然后问,宝宝有信心把代码跑通吗?于是小屁孩充满自信地按下了执行键,程序随即完美执行!然而小孩看着屏幕上的输出,自信的笑容渐渐凝固,转变为恐惧,然后就会从电脑椅上跳起来想跑!他扭头却撞在了你身上,发现你手持铜头皮带狞笑!此时你就可以大喝一声把小孩震慑住,抡起铜头皮带实现小屁孩如陀螺般循环旋转的宿命!!! |