- 8
- 0
- 约2.09万字
- 约 8页
- 2017-07-27 发布于河南
- 举报
数据结构序列表
顺序表
数据结构
Administrator
2011/4/1
顺序表的特点是表中相邻的数据元素在内存中存储位置也相邻
#define SUCCESS 1
#define FAILURE 0
#define MAXSIZE 100
typedef int ElemType; /*ElemType类型根据实际情况而定,这里假设为int*/
?
typedef??struct
{
ElemType data[MAXSIZE];? /*数组,存储数据元素*/
int last; /*最后一个元素的位置*/
} SeqList;
/*顺序表的初始化是指建立一个空表,即分配存储空间,但不包含任何数据元素。*/
int InitList(SeqList *L)
{
L = (SeqList *)malloc(sizeof(SeqList));
?
if(L == null)
{
return FAILURE;
}
L-last = -1;
?
return SUCCESS;
}
/* 数组中最后一个元素的索引last加1。*/
int CountList(SeqList *L)
{
return L-last + 1;
}
/*使顺序表为空,last等于-1。*/
void ClearList(SeqList *L)
{
L-last = -1;
}
/*如果last为-1,顺序表为空,返回1,否则返回0。 */
bool ListIsEmpty(SeqList *L)
{
if(L-last == -1)
{
return SUCCESS;
}
return FAILURE;
}
如果顺序表为满,last等于maxsize-1,返回1,否则返回0。
int ListIsFull(SeqList *L)
{
if(L-last == MAXSIZE – 1)
{
return SUCCESS;
}
return FAILURE;
}
附加操作是在顺序表未满的情况下,在表的末端添加一个新元素,然后使顺序表的last加1。
int AppendList(SeqList *L, ElemType item)
{
if(L-last == MAXSIZE - 1) /*表已满*/
{
return FAILURE;
}
?
L-data[++L-last] = item;
?
return SUCCESS;
}
插入
int InsertList(SeqList *L, ElemType item, int pos)
{
int i = 0;
?
if (L-last == MAXSIZE - 1) /*顺序表已满*/
{
return FAILURE;
}
/* 插入的位置不正确,
pos小于1表示在第1个位置之前插入,
pos大于last+2表示在最后一个元素后面的第2个位置插入。*/
if((pos1) || (posL-last+2))
{
return FAILURE;
}
if (pos == L-last + 2) /*在表尾插入数据元素*/
{
L-data[pos - 1] = item;
return SUCCESS;
}
/*移动元素*/
for (i = L-last; i = pos - 1; --i)
{
L-data[i + 1] = L-data[i];
}
?
/*插入新的数据元素*/
L-data[pos - 1] = item;
?
/*表长增1*/
++L-last;
?
return SUCCESS;
}
删除算法
ElemType DeleteList(SeqList *L, int pos)
{
ElemType tmp;
int i = 0;
?
if (L-last == -1) /*表为空*/
{
printf(List is empty!);
return FAILURE;
}
/* 删除的位置不正确,
pos小于1表示删除第1个位置之前的元素,
pos大于las
您可能关注的文档
- 打破中文字幕的文化底蕴.ppt
- 打破安排.doc
- 打造高效便捷的服务平台.doc
- 承担课程.ppt
- 技术在绝缘纪录结束时.doc
- 技术员焊接考试.doc
- 技术改造项目申请 2013.doc
- 技术标准(台山街).doc
- 技术活动室设计n.doc
- 投影机用于日常维护.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)