第6课-线性表的相关操作

问题:

线性表只是一个单纯的概念吗?

如何在程序中表达和使用一个线性表?

1. 线性表的操作

l   创建线性表。

l   销毁线性表。

l   清空线性表。

l   将元素插入线性表。

l   将元素从线性表中删除。

l   获取线性表中某个位置的元素。

l   获取线性表的长度。

2. 线性表操作的实现

(1)      线性表在程序中表现为一种特殊的数据类型。

(2)      线性表的操作在程序中的表现为一组。

3. 用C语言来描述线性表

2-1.h文件

#ifndef _EG_2_1_H_

#define _EG_2_1_H_

typedef void List;

typedef void ListNode;

/*

该方法用于创建并且返回一个空的线性表

*/

List* List_Create();

/*

该方法用于销毁一个线性表list

*/

void List_Destroy(List* list);

/*

该方法用于将一个线性表list中的所有元素清空

使得线性表回到创建时的初始状态

*/

void List_Clear(List* list);

/*

该方法用于返回一个线性表list中的所有元素个数

*/

int List_Length(List* list);

/*

该方法用于向一个线性表list的pos位置处插入新元素node

返回值为1表示插入成功,0表示插入失败

*/

int List_Insert(List* list, ListNode* node, int pos);

/*

该方法用于获取一个线性表list的pos位置处的元素

返回值为pos位置处的元素,NULL表示获取失败

*/

ListNode* List_Get(List* list, int pos);

/*

该方法用于删除一个线性表list的pos位置处的元素

返回值为被删除的元素,NULL表示删除失败

*/

ListNode* List_Delete(List* list, int pos);

#endif

2-1.c

#include <stdio.h>

#include "2-1.h"

List* List_Create()

{

return NULL;

}

void List_Destroy(List* list)

{

}

void List_Clear(List* list)

{

}

int List_Length(List* list)

{

return 0;

}

int List_Insert(List* list, ListNode* node, int pos)

{

return 0;

}

ListNode* List_Get(List* list, int pos)

{

return NULL;

}

ListNode* List_Delete(List* list, int pos)

{

return NULL;

}

小结:

l  线性表在程序中表现为一种特殊的数据类型。

l  线性表的操作则表现为一组相关的。

问题:

(1)线性表的各个函数如何实现呢?

(2)有几种线性的实现方式呢?

(3)每种实现方式的优缺点是什么呢?

转载于:https://www.cnblogs.com/free-1122/p/11322717.html

数据-第6课-线性表的相关操作相关推荐

  1. 第5课 - 线性表的本质

    第5课 - 线性表的本质 数据结构是为了解决生活中的实际问题而存在的,那生活中与线性表相对应的例子有什么呢? 幼儿园中就有一个例子,在老师安排小朋友活动时,会将小朋友组织成下面的站队形式,这个就是线性 ...

  2. DM8表空间相关操作及介绍

    DM8表空间相关操作及介绍 最近刚接触达梦数据库,经过基础的学习已初步掌握相关知识,下面给大家分享一下达梦8表空间的一些相关操作及介绍,后续会持续更新. 一.表空间介绍: 1.概念: 每个DM 数据库 ...

  3. 线性表顺序存储结构操作算法

    线性表顺序存储结构操作算法 ** 顺序表的初始化 线性表的插入算法 线性表的删除算法 线性表的查找算法** 根据书本的知识线性表顺序存储结构的操作算法其实是我们刚进入数据结构与算法的必修课 其实算法无 ...

  4. mysql显示表已存在_MySQL数据库与数据表的相关操作

    数据库相关操作: 显示数据库:show databases; 如果是0.00秒并不代表没有花费时间,而是时间非常短,小于0.01秒. 创建数据库: Query OK表示创建成功,1行受到影响,处理时间 ...

  5. 数据结构代码题--与线性表的相关删除操作

    一.与线性表相关的删除操作 1.从线性表中删除具有最小值的元素,并由函数返回被删除元素的值,空出的位置由最后一个元素填补 # define MaxSize 50// 顺序表类型定义 typedef s ...

  6. 南邮数据结构实验1.1:顺序表的相关操作

    题目:参照程序2.1~2.7,编写代码,完成顺序表的初始化.查找.插入.删除.输出.撤销等操作. 部分代码: 顺序表的结构体定义: typedef struct {int n; //顺序表的长度int ...

  7. 二、MySQL建库建表的相关操作

    1.创建数据库 格式: CREATE DATABASE 数据库名; 因为MySQL不区分大小写,所以哪种输入都可以.也就是说,CREATE DATABAE.Create DataBase.create ...

  8. Excel表的相关操作(笔记)

    0.序言 关于LOOKUP,FIND,OFFSET等excel表操作的笔记. 1.excel往下拉复制横向数据 例子:   公式:OFFSET($S$26,1,V27,1,1) 用与数据++   R2 ...

  9. 02数据库表的相关操作

    数据库表的创建 create database test; drop database xuda; show databases; 创建数据表,并插入数据 USE test; create table ...

  10. 创建工人表以及相关操作(作业)

    1.创建一个库:MyEE_2204并且创建一个员工表 字段                   属性             id                       整形           ...

最新文章

  1. mysql5.1 与mysql5.5 字符集设置区别
  2. java 重用性_提高Java代码重用性的三个方法
  3. python 数据分析学什么-从零开始学数据分析,什么程度可以找工作?
  4. 使用WatchService监控文件变化
  5. SMACH专题(一)----安装与初探
  6. c++ 弧形面如何逆时针排序_环形导轨如何实现拐弯?
  7. HBuilder 模拟器连接默认端口
  8. 【渝粤题库】陕西师范大学200481 高级英语(一)
  9. Python编程从入门到实践~字典
  10. 执行-技术人的管理之路--总结
  11. Python使一列数据总和为1
  12. 14届数独-真题标准数独-Day 5-20220120
  13. 拆t460拆机图解_雷神st pro怎么拆机?雷神st pro拆解详细评测图解
  14. 旷视科技1面2面----最差的一次面试体验
  15. STM32共阳数码管编程分享
  16. Windows7旗舰版SP1_32位2018.10(装机版)
  17. 嵌入式视频处理基本原理part1
  18. IMU、AHRS、VRU和GNSS、INS
  19. 史上绝地反击,美式英语英文学习大全。美国英语最新词频表
  20. HuaWei ❀ Virtual Firewalld 虚拟防火墙

热门文章

  1. JavaEE核心API--Servlet
  2. ServletContextListener小小总结
  3. java+log4j+是异步吗_log4j2用asyncRoot配置异步日志是如何使用disruptor
  4. 致敬Github那些卓越贡献的大佬和他们的公众号
  5. php使用框架优缺点,PHP四大主流框架的优缺点总结(上)
  6. crypto 乱码_base64编码加密解密程序,输出有乱码,为什么?
  7. java怎么根据编号修改数据类型_Java中怎么根据不同的输入数据类型调用不同的方法呢?...
  8. java类似keyvaluepair_BM25 算法的java实现,有详细的说明文档和代码 Develop 238万源代码下载- www.pudn.com...
  9. python中常用的函数有哪些_python里常用的函数类型
  10. bspline怎么使用 python_零基础5个月快速学会Python的秘诀