// 顺序表的存储结构及基本操作实现
#include "stdlib.h"
#include "iostream.h" //cin cout
#define MAXSIZE 100
#define OK 0
#define OVERFLOW -2
#define ERROR -1
typedef int Status;
typedef char ElemType;
//定义顺序表的存储结构
#define MAXSIZE 100
typedef struct
{
ElemType *elem;
int length;
}sqlist;
//顺序表的初始化
Status InitList_Sq(SqList &L)
{
L.elem=new ElemType[MAXSIZE];
if(!L.elem) exit(OVERFLOW);
return ok;
L.length=0;
}
Status GetElem_Sq(SqList L, int i, ElemType &e)
//顺序表的取值
{
e=L.elem[i-1];
if (i<1||i>L.length) return ERROR;
return OK;
}
//顺序表的查找
int LocateElem(SqList L, ElemType e)
{
for (i=0;i<L.length;i++)
if(L.elem[i]==e) return i+1;
return 0;
}
//在顺序表中插入一个新元素
Status ListInsert_Sq(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;
}
//删除顺序表中的一个元素
Status ListDelete_Sq(SqList &L, int i).
{
if((i<1)||(i>L.length)) return ERROR;
for(j=i;j<=L.length-1;j++)
L.elem[j-1]=L.elem[j];
--L.length;
return OK;
}
int main(){
//声明顺序表
//初始化顺序表函数的调用
//输出顺序表长度
//采用for循环依次插入s、t、d、i、o五个字符元素
//查找顺序表中是否包含'b'字符
//从顺序表中取出第3个元素并输出
//在第3个元素后面插入3个新的元素依次为:l、i、b
//输出插入后的顺序表中的各个元素 for循环
//将顺序表中的最后两个元素删除
//再次查找顺序表中是否包含'b'字符
//输出顺序表中的各个元素 for循环
return 0;
}
C++顺序表的实现
最新推荐文章于 2024-07-21 19:28:44 发布
本文详细探讨了如何在C++中实现顺序表,包括动态内存分配、元素插入与删除、遍历等操作,帮助读者深入理解C++数据结构基础。
摘要由CSDN通过智能技术生成