武汉黑马程序员怎么样和源码时代时代到底哪个课程最新


这个网上是没办法查到详细资料嘚

你对这个回答的评价是


采纳数:2 获赞数:1 LV2

有部分优秀的面授导师,面对面讲课的导师比较优秀的确实来源码时代时代了,综合考虑绩效考核,学生打分来决定这个导师的去留!

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手機镜头里或许有别人想知道的答案

}

课程采用教材《数据结构(C语言版)》严蔚敏吴伟民,清华大学出版社
本系列博文用于自我学习总结和期末复习使用,同时也希望能够帮助到有需要的同学如果有知识性的错误,麻烦评论指出

线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,吔可以是不连续的)因此,为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系对数据元素ai来说,除了存储其本身的信息之外还需存储一个指示其直接后继的信息(即直接后继的存储位置)。这两部分信息组成数据元素ai的存储映像称为结点(node)。它包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域链表的中每个结点中只包含一个指针域时,又称线性鏈表或单链表

主要实现单链表的头插入创建和尾插入创建。

具体过程:(图中曲线箭头表示操作过程中的赋值直线箭头表示指针指向)
①建立头结点L和待插入的in结点,并向in结点数据域赋值data1
②将头结点指针域赋值给in结点的指针域也即in结点的指针域指向头结点指针域
③将in結点的结构指针赋值给头结点的指针域,也即头结点的指针域指向in结点
⑤开始下一次头插入in结点并循环到结束条件

具体过程:(图中曲線箭头表示操作过程中的赋值,直线箭头表示指针指向)
①创建头结点和end结点并给它们相同的存储空间,创建in结点并向其数据域赋值data1
②将end结点的指针域指向in结点,同时头结点的指针域也指向了in结点
③将end结点移动到in结点的位置即表尾,并将in结点的指针域指空同时end结点嘚指针域也指向了空,完成第一次表链增长
④开始下一次尾插入in结点并循环到结束条件
动态内存分配采用C++中的new和delete来实现,相较于C中的malloc函數减少了语句量。


 
 
 
 

本次实验实现了线性表的链式存储结构以及单链表的头插入创建和尾插入创建,输出和销毁
实验中,需要加深理解的是结点的概念。定义结点时使用了结构体的嵌套,在结点的指针域指向下一个结点的结构指针结点的数据域存储数据元素,这樣就达到了链接各个结点的功能需要注意的是,头结点的数据域一般不存储数据元素尾结点的指针域指空。在程序执行中可以清楚哋查看到结点内部状况。其中L结点为头结点,采用头插入方法建表
通过本次实验,对结点的理解更加深入对结点的一些操作方法更加熟悉,对比顺序结构可以感觉到链式结构的操作更加灵活,没有占用多余的空间但创建起来有些麻烦,因为逻辑结构与物理结构不能很好地对应对于指针的理解也有待加深。对比头插入和尾插入建表两种方法各有优劣。头插入建表算法相对简单,比较好理解泹获得的链表存储顺序与输入顺序相反,输出链表时先进入的后出来尾插入建表,算法相对复杂特别是结构指针的相互赋值容易混乱,但获得的链表存储顺序与输入顺序相同输出链表时先入先出。

}

我要回帖

更多关于 黑马程序员怎么样 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信