教孩子学数据结构,要循序渐进,不能一口吃成胖子。红黑树对4岁小孩来说太复杂,不妨先从一维数组学起。$ |/ g u" W5 ~( g( v% s9 `# |
所以这个时候,你就应该拉孩子在电脑前坐下,说:宝宝别急,我们先学习数组吧!你知道数组是什么吗?小孩就会点点头说知道。然后你说,那我们来声明一个utf-16数组吧!一共十个元素,除了第五个元素是0x1F7E8 ,其他都是 0x1F7EB,宝宝会做吗?于是小屁孩用力点了一下头,写出:/ u: a5 m! h3 ]3 S# y. {# ]
let array = [
2 l' J4 F. |$ P3 p0 p 0x1F7EB,
# j" `9 c# o2 N5 ` 0x1F7EB, _ h9 l9 z7 Q! x% {
0x1F7EB,6 ~6 X" d: [7 Y& K
0x1F7EB,; D1 F8 P, ]4 g& ]* f$ t: o' d7 g
0x1F7E8,
8 n. `" D- ?1 t1 {7 Z 0x1F7EB,, A1 o$ o8 ]1 U; v! q
0x1F7EB,
7 r" N" O& R! K( \* d 0x1F7EB,! U$ y/ c0 h V9 L8 N# `$ u
0x1F7EB,; y3 H$ e) T" S: C; Q
0x1F7EB,
6 N( }+ \ ]9 `0 s];* s% ^/ u3 K& j/ }
看到小孩懂得数组,你满意地点了点头,继续鼓励他说,那宝宝能不能把这些UTF字符打印出来呀?经过几次调试,小孩终于写出了:- j- I: b$ D4 C( u0 M
for (let i of array) {/ l. E1 X* w4 l Y. j0 Y
process.stdout.write(String.fromCodePoint(i));0 ?7 S8 A! z& R& G
}
; e ~ E9 m/ E看到小孩学会了循环,你向小孩投向了赞许的目光,然后问,宝宝有信心把代码跑通吗?于是小屁孩充满自信地按下了执行键,程序随即完美执行!然而小孩看着屏幕上的输出,自信的笑容渐渐凝固,转变为恐惧,然后就会从电脑椅上跳起来想跑!他扭头却撞在了你身上,发现你手持铜头皮带狞笑!此时你就可以大喝一声把小孩震慑住,抡起铜头皮带实现小屁孩如陀螺般循环旋转的宿命!!! |