// 顺序表的C语言实现
#include
#include
#define maxSize 100
// 顺序表结构体
struct seqList {
int *data; // 顺序表内存空间
int length; // 顺序表元素个数
};
// 初始化顺序表
struct seqList seqListInit() {
struct seqList sl;
sl.data = (int *)malloc(maxSize * sizeof(int));
sl.length = 0;
return sl;
}
// 销毁顺序表
void seqListDestroy(struct seqList *sl) {
free(sl->data);
}
// 顺序表的按值查找
int seqListFind(struct seqList *sl, int value) {
int i;
for (i = 0; i < sl->length; i ++) {
if (sl->data[i] == value)
return i;
}
return -1;
}
// 顺序表的插入
void seqListInsert(struct seqList *sl, int pos, int value) {
int i;
for (i = sl->length; i > pos; i --)
sl->data[i] = sl->data[i-1];
sl->data[i] = value;
sl->length ++;
}
// 顺序表的删除
void seqListDelete(struct seqList *sl, int pos) {
int i;
for (i = pos; i < sl->length; i ++)
sl->data[i] = sl->data[i+1];
sl->length --;
}
int main(int argc, char *argv[]) {
int i;
struct seqList sl = seqListInit();
seqListInsert(&sl, 0, 1); // 1
seqListInsert(&sl, 0, 2); // 2, 1
seqListInsert(&sl, 1, 3); // 2, 3, 1
seqListDelete(&sl, 2); // 2, 3
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)