数据结构(c语言版)-为什么想起来很简单的代码,写起来那么费劲呢?
作为一个代码小垃圾,三行五行的基本语句都写不出来。课上,双链表的插入写起来都那么费劲,真糟糕。
思路很简单,为什么代码不会写?
需要对基本语句再熟悉。为什么会考虑不到保存指针(指针覆盖)的情况?因为在思考数据元素插入链表问题时,使用的是全知视角(上帝视角),“偷看答案”了。但是,对于每一个元素来说,他们是“偏知视角”,我们写代码,实在用代码写自己的想法,想要指挥一个一个数据元素做事情,但是指挥这些数据元素做事情,需要考虑到这些元素的“个人能力”。数据元素不能“记住”以前存储的指针,“记住”以前存储指针的是我们自己的大脑。数据元素没有这样的“好记忆”,就需要我们对以前的指针事先存储。
《链表的插入》——>《我的爸爸是我的爷爷》:我的爸爸(A)知道我是他的儿子(B),我(B)知道(A)是我爸爸。但是,有一天,炸裂的前尘往事被揭露。实际上,爸爸(A)的一个儿子(B1)才是我爸爸。现在要对伦理关系重新书写,你问A,你的儿子是谁?A说:是B。你说:不对。现在你要记住你的儿子是B1。现在你问B1,你的儿子是谁?B1说:我没儿子。你再问A,你以前那个儿子是谁?A说:我记性不好,我只知道我的儿子是B1。那么,如果你保存了A的旧儿信息,并告诉B1,他的儿子是B,让B和B1先下父子关系。然后告诉A,他的儿子现在变成B1了,让A和B1认父子关系。这样,新的关系就梳理清楚了。