线性表的
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;
}
小结:
线性表在程序中表现为一种特殊的数据类型。
线性表的操作则表现为一组相关的函数。
线性表怎么实现?实现方式?优缺点呢?
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;
}
小结:
线性表在程序中表现为一种特殊的数据类型。
线性表的操作则表现为一组相关的函数。
线性表怎么实现?实现方式?优缺点呢?
相关文章推荐
- zookeeper3.4.6的可视化zkui2.0的安装
- 第十七章 适配器模式
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- spring学习笔记(3)-aspectj的五种通知方法
- Android 学习笔记(5)—— ProgressBar
- ViewRoot和DecorView
- IOC控制反转
- 运行maven pom.xml文件后编译环境变为jdk1.5
- string的七种用法
- 锋利的jQuery第2版学习笔记6、7章
- JavaScript之数据类型
- bzoj 2510: 弱题
- cvCaptureFromCAM 分析
- eclipse项目导入as
- 个人学习C++过程中对const的总结:初始化系列之用字面值常量与其他类型的值初始化的区别(一)
- Android之Linearlayouy线性布局
- 安装线性规划库glpk及其Python/R语言的封装库
- SFB公开课:TMG/IISARR/Web Application Proxy/发布UC(Lync/SFB)-1
- 作业成本法的matlab实现
- Add Two Numbers