线性表的顺序存储实现
2017-03-08 17:30
141 查看
#include <stdio.h> typedef struct LNode *List; typedef struct { ElementType Data[MAXSIZE]; int Last; } LNode; //初始化顺序表 List MakeEmpty() { List PtrL; PtrL=(List)malloc(sizeof(LNode)); PtrL->Last=-1; return PtrL; } int Find(ElementType X,List PtrL) { int i=0; while(i<=PtrL->Last&&PtrL->Data[i]!=X) { i++; } if(i>PtrL->Last) return -1; else return i; } void Insert(ElementType X,int p,List PtrL) { int P; int i; if(PtrL->Last==MAXSIZE-1) { printf("表满"); return false; } if(P<0||P>PtrL->Last+1) { printf("位置不合法"); return false; } for(i=PtrL->Last;i>=P;i--) { PtrL->Data[i+1]=PtrL->Data[i]; } PtrL->Data[P]=X; PtrL->Last++; return true; } bool Delete(List PtrL,int P) { int i; if(P<0||P>PtrL->Last) { printf("位置%d不存在元素",P); return false; } for(i=P+1;i<=PtrL->Last;i++) { PtrL->Data[i-1]=PtrL->Data[i]; } PtrL->Last--; return true; } int main(int argc, char *argv[]) { LNode L; List PtrL; }注意:这个代码实际上不能运行,因为并没有用模板,却使用了诸如ElementType这种类型,实际上这只是个代码框架的示范,在实际实现的时候要使用具体的类型或使用C++的模板,这个代码相当于非常详细的伪代码。
相关文章推荐
- 线性表的顺序存储实现及相关操作 C语言版
- 线性结构的顺序存储和链式存储的实现代码(二)
- 线性表(顺序存储)结构与功能的简易实现
- PHP实现线性表的顺序存储实现
- 线性表的Java实现--顺序存储
- 第3章 线性表的顺序存储c#实现---《大话数据结构》读书笔记
- 线性表---顺序存储实现
- 数据结构:线性表的顺序存储--Java实现
- 线性表的顺序存储及JAVA实现
- 线性表的顺序存储实现
- 线性表的顺序存储及操作实现
- 线性表的存储结构---顺序表的实现
- 数据结构:线性表(顺序存储)顺序栈类(实现创建,输出,入栈出栈,读栈顶元素功能)
- java实现线性表的顺序存储
- 线性表以顺序表为存储结构的实现(数据元素的类型为整型)
- 线性结构的顺序存储和链式存储的实现代码(一)
- 数组实现线性表的顺序存储
- 线性表的顺序存储实现及相关操作 C语言版
- java 实现线性表之顺序存储
- 线性结构的顺序存储的实现