数据结构第一次作业:线性表。
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 1024
typedef int elemtype;
typedef struct sequlist
{
elemtype data[MAXSIZE];
int last;
} SequenList;
//顺序表初始化
SequenList *Init_SequenList()
{
SequenList *L;
L=(SequenList *)malloc(sizeof(SequenList));
if(L != NULL)
{
L -> last = -1;
}
return L;
}
//顺序表的插入操作
//在i处插入值为x的结点
int Insert_SequenList(SequenList *L, elemtype x, int i)
{
int j;
//如果满了退出
if (L -> last >= MAXSIZE - 1)
{
return 0;
}
//检查插入位置是否合法
if (i < 1 || i > L -> last + 2)
{
return -1;
}
//插入
for (j = L -> last; j >= i-1; j--)
{
L -> data[j+1] = L -> data[j];
}
L -> data[i-1] = x;
L -> last = L -> last+1;
return 1;
}
//顺序表的删除操作
//删除i位置的结点
int Delete_SequenList(SequenList *L, int i)
{
int j;