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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值