#define Error -1;
#define OK 1;
typedef int ElementType;
typedef int Status;
#define MaxSize 40
typedef struct {
ElementType data[MaxSize];
int length;
}Sqlist;
//i 从1开始,表示第几个
//获得元素
Status GetElem(Sqlist L , int i , ElementType *e){
if (i < 1 || i > L.length || L.length == 0) {
return Error;
}
*e = L.data[i-1];
return OK;
}
// 插入操作
Status insertElem(Sqlist * L, int i, ElementType e){
if (L->length == MaxSize) {
return errno;
}
if (i>L->length+1 || i < 1) {
return Error;
}
L->length++;
if (i < L->length) {
for ( int j = L->length - 1; j >= i; j--) {
L->data[j] = L->data[j-1];
}
}
L->data[i-1] = e;
return OK;
};
//删除操作
Status listDelete(Sqlist *L, int i, ElementType *e){
if (L->length == 0) {
return errno;
}
if (i < 1 || i > L->length) {
return errno;
}
*e = L->data[i-1];
for (int j = i; j <= L->length-1; j++) {
L->data[j-1] = L->data[j];
}
L->length--;
return OK;
};
void Log(Sqlist *L){
printf("---------------\n");
for (int i = 0; i < L->length; i++) {
printf("%d--",L->data[i]);
}
}
线性表的顺序存贮结构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 对于线性结构的顺序表而言,特点: ···1.添加和删除元素,时间复杂度是O(n),因为要移动元素.。 ···(1)...
- 线性表 顺序表 顺序表的特性 顺序表的元素有前驱和后继 顺序表有size 顺序表的增删改查 顺序表的优缺点优点:尾...
- 通过第六篇文章的学习我们知道,线性表分为顺序存储和连式存储两种结构,他们各自有自己的存储特点,在使用上也不同。今天...