(二)函数定义文件

#include "seqlist.h"

//1 创建一个顺序表
int create_SqList(SqListPtr L){
	for (int i = 0; i < LISTMAXSIZE; i++)
		L->data[i] = 0;
	L->length = 0;
	return 0;
}

//2 判断顺序表是否为空
int isEmpty_SqList(SqList L){
	return L.length > 0 ? 0 : 1;
}

//3 清空顺序表
int clear_SqList(SqListPtr L){
	L->length = 0;
	return 0;
}

//4 查找顺序表中某一位置的值
int getElement_Sqlist(SqListPtr L, int position){
	if (L->length < position)
		return 1;
	return L->data[position - 1];
}

//5 查找某值在线性表中的位置
int locate_Sqlist(SqListPtr L, int value){
	for (int i = 0; i <= L->length; i++){
		if (L->data[i] == value)
			return (i+1);
	}
	return 0;
}

//6 插入元素到顺序表中的某个位置
int insert_SqList(SqListPtr L, int position, int value){
	if (L->length == LISTMAXSIZE)
		return 1;
	if (L->length == 0){
		L->data[L->length] = value;
		L->length++;
		return 0;
	}
	if (L->length >= position){
		for (int i = L->length; i >= position; i--)
			L->data[i] = L->data[i - 1];
		L->data[position-1] = value;
		L->length++;
		return 0;
	}
}

//7 删除顺序表中德元素
int delete_SqList(SqListPtr L, int value){
	for (int i = 0; i < L->length; i++){
		if (L->data[i] == value){
			for (int j = i; j < L->length; j++){
				L->data[j] = L->data[j + 1];
			}
			L->length--;
			return 0;
		}
	}
	return 1;
}

//8 求线性表的元素个数
int length_SqList(SqList L){
	return L.length;
}

//9 遍历顺序表
int traversal_Sqlist(SqList L){
	if (L.length == 0)
		return 1;
	for (int i = 0; i < L.length; i++)
		printf("%d ", L.data[i]);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值