版权声明:本文为博主原创文章,未经博主允许,不得转载。

2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分

第2章  线性表 - 单链表顺序存储结构

——《数据结构》-严蔚敏.吴伟民版

       ★有疑问先阅读★

  源码使用说明  链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

  课本源码合辑  链接☛☛☛ 《数据结构》课本源码合辑

      习题集全解析  链接☛☛☛ 《数据结构题集》习题解析合辑

 

       本源码引入的文件  链接☛ Status.h

 

      文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲02 线性表\01 SequenceList

 

概述

       数据结构的学习当然要从线性表学起,而线性表里首先需要学习单链表,这里从单链表最简单的顺序存储结构(本质就是可变数组存储)开始。

解析

       单链表强调元素在逻辑上紧密相邻,所以首先想到用数组存储。但是普通数组有着无法克服的容量限制,在不知道输入有多少的情况下,很难确定出一个合适的容量。对此,一个较好的解决方案就是使用动态数组。首先用malloc申请一块拥有指定初始容量的内存,这块内存用作存储单链表元素,当录入的内容不断增加,以至于超出了初始容量时,就用calloc扩展内存容量,这样就做到了既不浪费内存,又可以让单链表容量随输入的增加而自适应大小。

       单链表顺序存储结构如下图:

可能涉及到的语法难点

       刚接触数据结构的同学,单链表顺序存储结构可能会是其面对的第一个坎。这里涉及到了结构体动态数组结构指针,甚至还有函数变量(函数做参数,本质是函数指针),所以需要有相对扎实的语言语法基础。当然,这也并不是说一定得掌握了高级语法才能开始学习数据结构,可以先将语言学到入门(入门意味着学会了提问),再边学数据结构边巩固语法。一定要亲自动手写一写,否则,肯定学不好。

源码

       文件一 ☛  SequenceList.h 

       文件二 ☛  SequenceList.c 

       文件三 ☛  SequenceList-main.c (测试文档)

测试结果展示

       更多章节持续更新中...微笑

posted @ 2016-02-27 22:14  康建伟  阅读(26469)  评论(17编辑  收藏  举报

版权声明:本文为博主原创文章,未经博主允许,不得转载。