zoukankan      html  css  js  c++  java
  • 2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版

    课本源码部分

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

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

           ★有疑问先阅读★

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

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

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

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

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

    概述

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

    解析

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

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

    可能涉及到的语法难点

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

    源码

           文件一 ☛  SequenceList.h 

           文件二 ☛  SequenceList.c 

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

    测试结果展示

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

  • 相关阅读:
    linux 清理cache中的内存
    科学计算和可视化
    Python生成随机数的方法
    matplotlib绘图的基本操作
    python中的数组和列表
    Python人工智能学习笔记
    利用numpy+matplotlib绘图的基本操作教程
    split函数用法
    玩转PIL库
    广师大学习笔记之文本统计(jieba库好玩的词云)
  • 原文地址:https://www.cnblogs.com/kangjianwei101/p/5223723.html
Copyright © 2011-2022 走看看