我们为什么还要学习数据结构呢?学习什么链表,插入删除数据,看代码,觉得很复杂。这是干什么用的呢?C或C++里不就已经可以插入数据,存储数据么?建个数组,运用指针不就可以很方便么?还要费这劳什子自己写一大串代码就是为了建个链表能存两个数据?
回答一:
链表的好处在于不用使用连续的内存,而是利用内存中分散的存储单元存储数据;而且链表的长度是可以任意增删的,但数组一旦申请就不能改变,这根本不能满足数据的动态存储;再加上数组的删除和插入元素会使大片的数据进行移动,这就增加了运算量;
数据结构的思想还是很好的,不说各种排序和图、二叉树的算法设计,单单一个栈就是很深奥的,他可以将一些复杂难懂的递归算法,拆解改写,让你对这些算法一目了然。
回答二:
数据结构是一种思想工具,就像我们用杯子喝水,用筷子吃饭一样,这里的杯子和筷子就是数据结构,如果我们不具有这样的思想,那我们只能趴下喝河水,用手抓东西吃。
举一个例子,假如我们要做一个锤子(金工实习的那种),我们需要什么,仅有两块铁行吗?不行的,我们必须还要有车床,还要有砂纸等工具。所以我们要制作锤子,就要具有一定的工具。现在又有一个问题提出来了,可以不用工具吗?可以,但是你会浪费很多的时间和精力。数据结构就是为了制作工具而发明的,有了工具,解决问题就容易的多了。
回答三:
程序不是用来玩的,或者说大部分有用的程序都是用来处理数据的,你做个mp3播放器,你如何给mp3解码?你需要把音乐的代码放到内存里,然后在解码,数据如何在内存里存储?这就是数据结构。
对于链表,如果你需要高速处理数据,比如做个mp3播放器,你要删除一部分错误的音乐代码,并且这些代码很随 机的排列在数据中,要是用数组的话:1在该地址填无用代码(内存不释放)2删除该数组中这些成员,把数组重新排列一下运用链表的话就很简单了 把指针一改,ok!