📄 xianxingbiao.c
字号:
#include "stdio.h"
#include "stdlib.h"
#define LIST_INIT_SIZE 100
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
typedef struct
{
ElemType *elem;
int length;
int listsize;
}sqlist;
Status inslist(sqlist *L,int n)
{
int m,*q,*p;
if(n>L->length+1||n<1)
return ERROR;
printf("请输入想要插入的元素:");
scanf("%d",&m);
p=&(L->elem[n-1]);
for(q=&(L->elem[L->length-1]);q>=p;--q)
*(q+1)=*q;
L->elem[n-1]=m;
++L->length;
printf("新表的元素 :\n");
for(m=0;m<L->length;m++)
printf("%d ",L->elem[m]);
printf("\n新增加的元素: %d",L->elem[n-1]);
printf("\n表长是:%d, 容量是:%d\n",L->length,L->listsize);
}
Status dellist(sqlist *L)
{
int i,*p,*q;
printf("\n请输入要删除的元素位置:");
scanf("%d",&i);
if(i>L->length||i<1)
return ERROR;
q=&(L->elem[i-1]);
p=&(L->elem[L->length-1]);
printf("新要删除的元素为:%d\n",L->elem[i-1]);
for(++q;q<=p;++q)
*(q-1)=*q;
--L->length;
printf("新表的元素:\n");
for(i=0;i<L->length;i++)
printf("%d ",L->elem[i]);
printf("\n表长是:%d, 容量是:%d",L->length,L->listsize);
return OK;
}
Status crelist(sqlist *L,int n)
{
int m;
printf("请输入元素:\n");
for(m=0;m<n;m++)
scanf("%d",&L->elem[m]);
for(m=0;m<n;m++)
printf("%d ",L->elem[m]);
return OK;}
main()
{int i,m;
sqlist *L,a;
L=&a;
L->elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L->elem)exit(OVERFLOW);
L->length=0;
L->listsize=LIST_INIT_SIZE;
printf("请输入元素个数:");
scanf("%d",&m);
if(m>L->listsize)
return 0;
L->length=m;
crelist(L,m);
printf("\n请输入要插入的元素位置:");
scanf("%d",&m);
inslist(L,m);
dellist(L,i);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -