教孩子学数据结构,要循序渐进,不能一口吃成胖子。红黑树对4岁小孩来说太复杂,不妨先从一维数组学起。1 n- y3 z) B0 v: u4 }) F
所以这个时候,你就应该拉孩子在电脑前坐下,说:宝宝别急,我们先学习数组吧!你知道数组是什么吗?小孩就会点点头说知道。然后你说,那我们来声明一个utf-16数组吧!一共十个元素,除了第五个元素是0x1F7E8 ,其他都是 0x1F7EB,宝宝会做吗?于是小屁孩用力点了一下头,写出:
% G7 w' J: Z. u! S- G7 P `let array = [
) I3 \$ M7 x; P5 ?+ H 0x1F7EB,) S @9 Z6 M1 X h
0x1F7EB,
! u# i4 b" K; e8 P 0x1F7EB,. n, S7 r) X8 N' Z& q& U
0x1F7EB,
( [# ?4 g) r( B0 |6 E+ _* c 0x1F7E8,# j$ A& C% [. t; ?; H9 M
0x1F7EB,
; p5 r2 A+ t0 m5 j' H9 ?" } 0x1F7EB,
6 d4 | f/ N( Y1 x B h 0x1F7EB,0 C* N3 ~- y& C! X! n" X E3 G
0x1F7EB," L/ M ~) B/ ^0 s( Q. B. S2 g: V
0x1F7EB,
. h' h1 o( R" k];
( k w* x% c8 c: @; c 看到小孩懂得数组,你满意地点了点头,继续鼓励他说,那宝宝能不能把这些UTF字符打印出来呀?经过几次调试,小孩终于写出了:8 F! j9 R6 M4 k; W! G0 [* m$ x! R
for (let i of array) {
6 B5 D6 _9 N6 w1 E process.stdout.write(String.fromCodePoint(i));- M4 j5 N5 o2 S6 U. U( B
}
9 K4 j% b- Y) W/ G看到小孩学会了循环,你向小孩投向了赞许的目光,然后问,宝宝有信心把代码跑通吗?于是小屁孩充满自信地按下了执行键,程序随即完美执行!然而小孩看着屏幕上的输出,自信的笑容渐渐凝固,转变为恐惧,然后就会从电脑椅上跳起来想跑!他扭头却撞在了你身上,发现你手持铜头皮带狞笑!此时你就可以大喝一声把小孩震慑住,抡起铜头皮带实现小屁孩如陀螺般循环旋转的宿命!!! |