📄
字号:
#include"stdio.h"
#define MaxSize 50
typedef char ElemType;
typedef struct
{
ElemType List[MaxSize];
int Size;
}SqList;
void SetNull(SqList *L) // 置空表
{
L->Size=0;
}
int Length(SqList *L) // 求长度
{
return (L->Size);
}
ElemType Get(SqList *L,int i) // 取表中第i个节点
{
if(i<1 || i>L->Size)
{
printf("位置参数不合法,只能在1~%d之间!\n",L->Size);
return ('#');
}
else
return (L->List[i-1]);
}
int Locate(SqList *L,ElemType x) // 按值查找
{
int i=0;
while(i<L->Size && L->List[i]!=x)
i++;
if(i==L->Size)
return (-1);
else
return (i+1);
}
void Insert(SqList *L,ElemType x,int i) // 插入节点
{
int j;
if(i<1 || i>L->Size+1)
printf("位置参数不合法,只能在1~%d之间!\n",L->Size+1);
else
{
L->Size++;
for(j=L->Size-1;j>=i;j--) // 节点向后移动,挪出一个位置
L->List[j]=L->List[j-1];
L->List[j]=x;
}
}
void Delete(SqList *L,int i) // 删除节点
{
int j;
if(i<1 || i>L->Size)
printf("位置参数不合法,只能在1~%d之间!\n",L->Size);
else
{
for(j=i-1;j<L->Size-1;j++) // 节点向前移动,覆盖删除的节点
L->List[j]=L->List[j+1];
L->Size--;
}
}
void Display(SqList *L) // 显示顺序表
{
int j;
if(L->Size==0)
printf("该顺序表为空,不能显示!\n");
else
{
printf("该顺序表为:");
if(L->Size==1)
printf("%c",L->List[L->Size]);
else
{
for(j=0;j<L->Size-1;j++)
printf("%c->",L->List[j]);
printf("%c",L->List[j]); // 显示最后一个节点
}
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -