📄 顺序表.h
字号:
struct SeqList
{
int Max;
int n;
DataType *element;
}
typedef struct SeqList *PSeqList
PSeqList creatNULLlist_seq(int m) //创建空顺序表
{
PSeqList palist=(PSeqList)malloc(sizeof(struct SeqList));
if (palist!=NULL)
{
palist->element=(DataType*)malloc(sizeof(DataType)*m)
if(palist->element)
{
palist->Max=m;
palist->n=0;
return(palist);
}
else free(palist);
}
printf("Out of space!!\n");
return NULL;
}
int isNULLList_seq(PSeqList palist) //判断顺序表是否为空
{
return(palist->n=0);
}
int locate_seq(PSeqList palist, DataType x) //给出数值为x的元素的下标
{
for(int q=0;q<n;q++)
if(palist->element[q]==x)
return(q);
return(-1);
}
int insertPre_seq(PSeqList palist,int p,DataType x) //在下标为p的元素之前插入值为x的元素
{
int q;
if(palist->n>=palist->Max)
{
printf("OVERFLOW!\n");
return(0);
}
if(isNULLList_seq(palist))
{
palist->element[0]=x;
palist->n=1;
return(1);
}
if (p<0||p>palist->n)
{
printf("NOT EXIST\n");
return(0);
}
for(q=palist->n-1;q>=p;q--)
{
palist->element[q+1]=palist->element[q];
palist->element[p]=x;
palist->n=palist->n+1;
return(1);
}
}
in insertPost_seq(PSeqList palist, int p, DataType x) //在下标为p的元素之前插入值为x的元素
{
int q;
if(palist->n>=palist->Max)
{
printf("OVERFLOW!\n");
return(0);
}
if(isNULLList_seq(palist))
{
palist->element[0]=x;
palist->n=1;
return(1);
}
if (p<0||p>palist->n)
{
printf("NOT EXIST\n");
return(0);
}
for(q=palist->n-1;q>p;q--)
{
palist->element[q+1]=palist->element[q];
palist->element[p+1]=x;
palist->n=palist->n+1;
return(1);
}
}
int delectP_seq(PSeqList palist,int p) //删除下标为p的元素
{
int q;
if(p<0||p>palist->n)
{
printf("NOT EXIST\n");
return(0);
}
for(q=p;q<palist->n-1;q++)
{
palist->element[q]=palist->element[q+1];
palist->n=palist->n-1;
return(1);
}
}
int delectX_seq(PSeqList palist, DataType x)
{
int p;
p=locate_seq(palist, x);
return(delectP_seq(palist,p));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -