顺序表的基本操作实现
2016-11-14 22:06
225 查看
顺序表的基本操作实现
在复习的时候顺便写写代码(基本和书上的一样)
#include<stdio.h>
#include<malloc.h>
#define OK 1
#define ERROR 0
#define Status int
#define MAXSIZE 10000
typedef int ElemType;
//对顺序表的定义
typedef struct
{
ElemType *elem;//ElemType 代表着定义顺序表的元素类型,这一定义为int
int length;//记录顺序表的长度
}SqList;
//顺序表的初始化
Status InitList(SqList &L)
{
L.elem=new ElemType[MAXSIZE];//申请空间大小为MAXSIZE,一旦申请将不能改变
if(!L.elem)
return ERROR;
L.length=0;
return OK;
}
//顺序表的取值(取出第i个元素,并把地址放在e)
Status GetElem(SqList L,int i,ElemType &e)
{
if(i<1||i>L.length)
return ERROR;
e=L.elem[i-1];
return OK;
}
//顺序表的查找
int LocateElem(SqList L,ElemType e)
{
for(int i=0;i<L.length;++i)
if(L.elem[i]==e)
return i+1;
}
//顺序表的插入(插入的位置为i,值为e)
Status ListInsert(SqList &L,int i,ElemType e)
{
if(i<1||i>L.length+1)
return ERROR;
if(L.length==MAXSIZE)
return ERROR;
for(j=L.length-1;j>=i-1;--j)
L.elem[j+1]=L.elem[j];
L.elem[i-1]=e;
++L.length;
return OK;
}
//删除(i代表删除的位置)
Status ListDelete(SqList &L,int i)
{
if(i<1||i>L.length)
return ERROR;
for(int j=i;j<=L.length-1;++j)
L.elem[j-1]=L.elem[j];
L.length--;
return OK;
}
int main()
{
}
在复习的时候顺便写写代码(基本和书上的一样)
#include<stdio.h>
#include<malloc.h>
#define OK 1
#define ERROR 0
#define Status int
#define MAXSIZE 10000
typedef int ElemType;
//对顺序表的定义
typedef struct
{
ElemType *elem;//ElemType 代表着定义顺序表的元素类型,这一定义为int
int length;//记录顺序表的长度
}SqList;
//顺序表的初始化
Status InitList(SqList &L)
{
L.elem=new ElemType[MAXSIZE];//申请空间大小为MAXSIZE,一旦申请将不能改变
if(!L.elem)
return ERROR;
L.length=0;
return OK;
}
//顺序表的取值(取出第i个元素,并把地址放在e)
Status GetElem(SqList L,int i,ElemType &e)
{
if(i<1||i>L.length)
return ERROR;
e=L.elem[i-1];
return OK;
}
//顺序表的查找
int LocateElem(SqList L,ElemType e)
{
for(int i=0;i<L.length;++i)
if(L.elem[i]==e)
return i+1;
}
//顺序表的插入(插入的位置为i,值为e)
Status ListInsert(SqList &L,int i,ElemType e)
{
if(i<1||i>L.length+1)
return ERROR;
if(L.length==MAXSIZE)
return ERROR;
for(j=L.length-1;j>=i-1;--j)
L.elem[j+1]=L.elem[j];
L.elem[i-1]=e;
++L.length;
return OK;
}
//删除(i代表删除的位置)
Status ListDelete(SqList &L,int i)
{
if(i<1||i>L.length)
return ERROR;
for(int j=i;j<=L.length-1;++j)
L.elem[j-1]=L.elem[j];
L.length--;
return OK;
}
int main()
{
}
相关文章推荐
- 顺序表的基本操作用C 语言实现
- 顺序表类的实现和基本操作
- c语言:顺序表的实现(一) 创建,插入,删除,查找,输出等基本操作实现
- c语言顺序表的实现与基本操作
- 编程实现顺序表的以下基本操作:建立顺序表,修改顺序表,插入顺序表,删除顺序表。
- 顺序队列(循环队列)基本操作实现 C语言
- 用顺序栈实现栈的基本操作
- C语言实现顺序表的插入、删除、查找、遍历等基本操作
- 顺序结构实现线性表的基本操作
- php实现顺序栈的基本操作
- 线性表之顺序表基本操作实现
- 1044 顺序栈基本操作的实现
- 利用顺序结构实现线性表的基本操作
- 编程实现顺序表的基本操作
- 顺序栈的基本操作实现
- 13数组实现顺序堆栈的基本操作
- hrbustoj 1545:基础数据结构——顺序表(2)(数据结构,顺序表的实现及基本操作,入门题)
- 顺序表中基本操作的实现
- 顺序表的基本操作——静态实现
- c语言:定长顺序串的基本操作实实现