#include <stdio.h>
#include <stdlib.h>
#define DATATYPE int
#define MAXSIZE 100
typedef struct //定义结构体
{
DATATYPE data[MAXSIZE];
int len;
}SEQUENLIST;
void INITATE(SEQUENLIST *L) //定义线性表
{
L->len=0; //初始表长为0
}
void CREAT(SEQUENLIST *L,int n) //利用循环向线性表中赋值
{
int i;
for(i=0;i<n;i++)
{
L->data[i]=i;
L->len++;
}
}
void INSERT(SEQUENLIST *L,int i,DATATYPE b) //实现插入操作
{
int k;
if(i<1||i>L->len+1||L->len>=MAXSIZE)
{
printf("error");
}
else
{
for(k=L->len;k>=i;k--)
{
L->data[k]=L->data[k-1];
}
L->data[i-1]=b;
L->len++;
}
}
int main(int argc, char *argv[]) { //主函数
SEQUENLIST k; //定义线性表![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210152606261.png#pic_center)
SEQUENLIST *L=&k;
INITATE(L); //注意:参数不能省略!!!
CREAT(L,6);
INSERT(L,2,7);
printf("%d",L->data[1]); //输出位置为1的数值
return 0;
}
```结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210152623909.png#pic_center)
数据结构程序题第一页第1题 在顺序表中实现插入操作
于 2020-12-10 15:29:11 首次发布