您的位置:首页 > 其它

线性表的

2016-04-04 22:51 211 查看
问题: 线性表只是一个单纯的概念吗? 如何表达和使用一个线性表?

1.集合 ----- 创建线性表

2.解散 ----- 销毁线性表

3.长度 ----- 得到线性表的长度

4.出列 ----- 从线性表删除一个元素

5.添加 ----- 在线性表待定位置添加元素

常用操作:

创建,销毁,清空,将元素出入,获取线性表中某个位置的元素,获取线性表中的元素,删除。

#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

#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;

}

小结:

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

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

线性表怎么实现?实现方式?优缺点呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: