教孩子学数据结构,要循序渐进,不能一口吃成胖子。红黑树对4岁小孩来说太复杂,不妨先从一维数组学起。0 p2 y3 @% z5 p( d, }0 }" [! y
所以这个时候,你就应该拉孩子在电脑前坐下,说:宝宝别急,我们先学习数组吧!你知道数组是什么吗?小孩就会点点头说知道。然后你说,那我们来声明一个utf-16数组吧!一共十个元素,除了第五个元素是0x1F7E8 ,其他都是 0x1F7EB,宝宝会做吗?于是小屁孩用力点了一下头,写出:( s3 @3 i, n: Q
let array = [
" e* o- `0 L- F9 W' n 0x1F7EB,5 H7 a/ |% V9 }: @) t
0x1F7EB,
) i. N0 D3 P1 C& @0 x) I8 K 0x1F7EB,
$ t, b) J3 G- @" Q% H 0x1F7EB,; i* ]5 S; O# a4 ]
0x1F7E8,; K1 V3 z$ }! \3 z2 q" p
0x1F7EB,( f$ Y3 l; W, q W2 r
0x1F7EB,0 Y5 T" o9 ?6 K8 R! N- g
0x1F7EB,) V7 [* t3 g0 p) ~7 K
0x1F7EB,
+ X0 Z# r7 [8 c* s# o' K5 V; p- F 0x1F7EB,5 g; z+ U1 X5 h
];
0 V2 a k; ~+ [ 看到小孩懂得数组,你满意地点了点头,继续鼓励他说,那宝宝能不能把这些UTF字符打印出来呀?经过几次调试,小孩终于写出了:4 i" Y2 ?/ U3 z9 k
for (let i of array) {, D6 x' y7 O: r; v
process.stdout.write(String.fromCodePoint(i));9 C1 e9 Q/ W: \2 A
}
1 e) ]0 C0 C+ u% \$ Q3 w+ `看到小孩学会了循环,你向小孩投向了赞许的目光,然后问,宝宝有信心把代码跑通吗?于是小屁孩充满自信地按下了执行键,程序随即完美执行!然而小孩看着屏幕上的输出,自信的笑容渐渐凝固,转变为恐惧,然后就会从电脑椅上跳起来想跑!他扭头却撞在了你身上,发现你手持铜头皮带狞笑!此时你就可以大喝一声把小孩震慑住,抡起铜头皮带实现小屁孩如陀螺般循环旋转的宿命!!! |