zoukankan      html  css  js  c++  java
  • 数据-第6课-线性表的相关操作

    第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)每种实现方式的优缺点是什么呢?

  • 相关阅读:
    给 Advice 传递参数
    jenkins 部署问题
    Linux里的2>&1究竟是什么
    记一次 Spring 事务配置踩坑记
    Netty
    springboot logback 集成
    SpringBoot-服务端参数验证-JSR-303验证框架
    mysql 数据库 简单存储过程游标使用
    SQL Case when 的使用方法
    解决Unsupported major.minor version 51.0错误
  • 原文地址:https://www.cnblogs.com/free-1122/p/11322717.html
Copyright © 2011-2022 走看看