下面一段程序的运行结果如下,其中涉及顺序表的初始化、求长度、插入删除元素、查找、输出等操作,请你将

程序中空白的部分(共15处)填写完整#include<stdio.h>#include<malloc.h>#defineMaxSize50typedefcharElemT... 程序中空白的部分(共15处)填写完整
#include <stdio.h>
#include <malloc.h>
#define MaxSize 50
typedef char ElemType;
typedef struct
{
(1) elem[MaxSize];
int length;
} (2);
void InitList(SqList *L)
{
(3) ;
}
int ListLength(SqList *L)
{
return (4);
}
void DispList(SqList *L)
{
int i;
for (i=0; (5); i++)
printf("%c",(6) );
printf("\n");
}
int GetElem(7)
{
if (i<1 || i>L->length)
return 0;
(8)
return 1;
}
int LocateElem(SqList *L, ElemType e)
{
int i=0;
(9)
if (i>=L->length)
return 0;
else
return i+1;
}
int ListInsert(SqList *L,ElemType e,int i)
{
int j;
if (i<1 || i>L->length+1)
return 0;
(10) ; /*将顺序表位序转化为elem下标*/
for (j=L->length;j>i;j--) /*将elem[i]及后面元素后移一个位置*/
(11) ;
L->elem[i]=e;
(12) ; /*顺序表长度增1*/
return 1;
}
int ListDelete(SqList *L,int i)
{
int j;
if (i<1 || i>L->length)
return 0;
i--;
for (13)
L->elem[j]=L->elem[j+1];
L->length--;
return 1;
}
void main()
{int i;
ElemType x;
SqList (14); /*定义顺序表指针L*/
L=(SqList *)malloc(15);
InitList(L);
ListInsert(L,'a',1);
ListInsert(L,'c',2);
ListInsert(L,'a',3);
ListInsert(L,'e',4);
ListInsert(L,'d',5);
ListInsert(L,'b',6);
printf("线性表:");
DispList(L);
printf("长度:%d\n",ListLength(L));
i=3;GetElem(L,i,&x);
printf("第%d个元素:%c\n",i,x);
x='a';
printf("元素%c是第%d个元素\n",x,LocateElem(L,x));
i=4;printf("删除第%d个元素\n",i);
ListDelete(L,i);
printf("线性表:");DispList(L);
}
展开
 我来答
shaoqi08110820
2013-03-29 · TA获得超过2508个赞
知道大有可为答主
回答量:1514
采纳率:100%
帮助的人:1740万
展开全部
//可以运行,你仔细看看

#include <stdio.h>

#include <malloc.h>
#define MaxSize 50
typedef char ElemType;
typedef struct
{
ElemType elem[MaxSize];
int length;
}SqList;
void InitList(SqList *L)
{
L->length=0 ;
}
int ListLength(SqList *L)
{
return L->length;
}
void DispList(SqList *L)
{
int i;
for (i=0; i<L->length; i++)
printf("%c",L->elem[i]);
printf("\n");
}
int GetElem(SqList *L,int i,ElemType*x)
{
if (i<1 || i>L->length)
return 0;
*x=L->elem[i-1];
return 1;
}
int LocateElem(SqList *L, ElemType e)
{
int i=0;
while(L->elem[i]!=e) i++;
if (i>=L->length)
return 0;
else
return i+1;
}
int ListInsert(SqList *L,ElemType e,int i)
{
int j;
if (i<1 || i>L->length+1)
return 0;
i-- ; /*将顺序表位序转化为elem下标*/
for (j=L->length;j>i;j--) /*将elem[i]及后面元素后移一个位置*/
L->elem[j]=L->elem[j-1] ;
L->elem[i]=e;
L->length++ ; /*顺序表长度增1*/
return 1;
}
int ListDelete(SqList *L,int i)
{
int j;
if (i<1 || i>L->length)
return 0;
i--;
for (j=i;j<L->length-1;j++)
L->elem[j]=L->elem[j+1];
L->length--;
return 1;
}
void main()
{int i;
ElemType x;
SqList *L; /*定义顺序表指针L*/
L=(SqList *)malloc(sizeof(SqList));
InitList(L);
ListInsert(L,'a',1);
ListInsert(L,'c',2);
ListInsert(L,'a',3);
ListInsert(L,'e',4);
ListInsert(L,'d',5);
ListInsert(L,'b',6);
printf("线性表:");
DispList(L);
printf("长度:%d\n",ListLength(L));
i=3;
GetElem(L,i,&x);
printf("第%d个元素:%c\n",i,x);
x='a';
printf("元素%c是第%d个元素\n",x,LocateElem(L,x));
i=4;printf("删除第%d个元素\n",i);
ListDelete(L,i);
printf("线性表:");DispList(L);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式