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

  • 相关阅读:
    React Native配置和使用
    使用ES6语法重构React代码
    git 起点
    Win32API程序中自建按钮
    C语言中数组与指针
    我的第一个博客
    Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)
    Solr6.5在Centos6上的安装与配置 (一)
    PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制
    MariaDB+Keepalived双主高可用配置MySQL-HA
  • 原文地址:https://www.cnblogs.com/free-1122/p/11322717.html
Copyright © 2011-2022 走看看