C语言实现
1.顺序表的结构定义
#define MAX_SIZE 30
typedef int elemtype;
typedef struct {
elemtype v[MAX_SIZE];
int len;
} sqlist;
2.求顺序表的长度
int length(sqlist *L)
{
return L->len;
}
3.插入算法
int insert (sqlist *L, int i, elemtype x)
{
int j;
if (L->len == MAX_SIZE) {
printf("溢出\n");
return 0;
}
if ( i < 1 || i > L->len + 1) {
printf("插入位置不正确\n");
return 0;
}
for ( j = L->len - 1; j >= i - 1; j --) {
L->v[j + 1] = L->v[j];
}
L->v[i - 1] = x;
L->len ++;
return 1;
}
4.删除算法
int delete (sqlist *L , int i, elemtype *y)
{
int j;
if ( i < 1 || i > L->len) {
printf("删除位置不正确\n");
return 0;
}
*y = L->v[i-1];
for ( j = i; j < L->len; j ++) {
L->v[j-1] = L->v[j];
}
L->len ++;
return 1;
}