顺序表的C语言实现

顺序表的C语言实现,第1张

// 顺序表的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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/634596.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-16
下一篇 2022-04-16

发表评论

登录后才能评论

评论列表(0条)

保存