目录

  • 1 第0章 课程概述
    • 1.1 单元学习目标
    • 1.2 从这里开始你的学习
    • 1.3 课程概况
      • 1.3.1 课前调查问卷
      • 1.3.2 课程内容简介与学习目标
      • 1.3.3 教学日历
      • 1.3.4 课程考核
      • 1.3.5 学习准则
    • 1.4 课程资料
    • 1.5 学习支持
      • 1.5.1 学习平台使用及技术支持
    • 1.6 课前C语言知识巩固
    • 1.7 IT学子成长指导
    • 1.8 大学生抗疫心理情境应对指南
  • 2 第1章 绪论
    • 2.1 本章教学目标与支撑资源
    • 2.2 数据结构研究的内容
    • 2.3 基本概念和术语
    • 2.4 算法和算法分析
    • 2.5 上机必学:类C语言描述算法
    • 2.6 章节测验
  • 3 第2章 线性表
    • 3.1 线性表的定义和特点
    • 3.2 线性表的顺序表示与实现
    • 3.3 单链表
    • 3.4 循环链表及双向链表
    • 3.5 线性表的应用
    • 3.6 上机综合实训一:线性表的基本操作
    • 3.7 章节测验
    • 3.8 课程回放
  • 4 第3章 栈和队列
    • 4.1 栈
    • 4.2 栈的应用举例
    • 4.3 栈与递归
    • 4.4 队列
    • 4.5 上机实训二:栈的应用
    • 4.6 章节测验
    • 4.7 课程回放
  • 5 第4章   串、数组和广义表
    • 5.1 串(字符串String)
    • 5.2 数组
    • 5.3 广义表
    • 5.4 章节测验
    • 5.5 课程回放
  • 6 第5章 树和二叉树
    • 6.1 本章导学
    • 6.2 树的基本概念
    • 6.3 二叉树的定义、性质和存储结构
    • 6.4 二叉树的遍历及应用
    • 6.5 线索化二叉树
    • 6.6 哈夫曼树
    • 6.7 树、森林和二叉树
    • 6.8 综合实训
    • 6.9 章节测验
  • 7 第6章 图
    • 7.1 图的定义和基本术语
    • 7.2 图的存储结构
    • 7.3 图的遍历
    • 7.4 最小生成树
    • 7.5 最短路径
    • 7.6 拓扑排序与关键路径
    • 7.7 章节测验
    • 7.8 课程回放
  • 8 第7章 查找
    • 8.1 章节导学
    • 8.2 线性表的查找
    • 8.3 树表的查找
    • 8.4 散列表的查找
    • 8.5 章节测验
    • 8.6 课程回放
  • 9 第8章 排序
    • 9.1 排序导学
    • 9.2 插入排序
    • 9.3 交换排序
    • 9.4 选择排序
    • 9.5 归并排序
    • 9.6 基数排序
    • 9.7 各种内部排序比较
    • 9.8 章节测验
  • 10 算法分析与设计
    • 10.1 第1章算法基础
    • 10.2 第2章分治算法
    • 10.3 第3章递归算法
    • 10.4 第4章贪心算法
    • 10.5 第5章回溯算法
    • 10.6 第6章动态规划算法*
    • 10.7 第7章图的基本操作
    • 10.8 Python常见问题及解决方案
上机综合实训一:线性表的基本操作
  • 1 实验要求
  • 2 C语言编程规范
  • 3 上机指导1
  • 4 S1-1顺序表实现学...
  • 5 S1-2单链表实现学...

广 州 商 学 院

20 学年—20 学年第  学期 数据结构实验任务书一

专业名称:  XXXX    实验学时:       2    

课程名称:数据结构      任课教师:             

实验题目:线性表的基本操作                      

实验环境:   Dev C++                     

实验目的

1、掌握线性表的定义;

2、掌握线性表的基本操作,如建立、查找、插入和删除等。

实验内容:

定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表,使其具有如下功能:

(1) 根据指定学生个数,逐个输入学生信息;

(2) 逐个显示学生表中所有学生的相关信息;

(3) 根据姓名进行查找,返回此学生的学号和成绩;

(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);

(5) 给定一个学生信息,插入到表中指定的位置;

(6) 删除指定位置的学生记录;

(7) 统计表中学生个数。

 

实验提示

学生信息的定义:

typedef struct {

    char no[8];   //8位学号

    char name[20]; //姓名

    int grade;     //成绩

}Student;

 

顺序表的定义

typedef  struct {

  Student  *elem;    //指向数据元素的基地址

  int  length;      //线性表的当前长度                                                           

 }SqList

              

链表的定义:

typedef structLNode{

     Student  data;       //数据域

     struct LNode  *next;  //指针域

}LNode,*LinkList;

 

实验要求

(1)程序要添加适当的注释程序的书写要采用缩进格式。

(2) 程序要具有一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的位置不对等等。

(3) 程序要做到界面友好,在程序运行时用户可以根据相应的提示信息进行操作。

(4) 根据实验报告模板详细书写实验报告。

(5) 通过学习通的作业模块上传实验报告。实验报告命名为学号-姓名-S1,如20200001-封清扬-S1。