数据结构-基本线性结构

一.顺序表(顺序结构存储的线性表)

数组存储的方式,last指向数组中最后一个元素

1.表示形式

typedef struct LNode *List;  
struct LNode{ 
     ElementType  Data[MAXSIZE];   
     int Last;
}; 
List PtrL;

2.基本操作

(1)创建

List makeEmpty() {
	List  PtrL;
	PtrL = (List)malloc(sizeof(struct LNode));
	PtrL->Last = -1;
	return PtrL;
}

(2)查找

ElementType Find(ElementType X,List PtrL) {
	int i = 0;
	while (i < PtrL->Last && PtrL->Date[i] != X) {
		i++;
	}
	if (i > PtrL->Last)return NULL;
	else return i;
}

(3)插入

void Insert(ElementType X, int i, List PtrL) {
	if (PtrL->Last = MAXSIZE - 1) {
		cout << "表满" << endl;
		return;
	}
	if (i<0 || i>PtrL->Last + 2) {
		cout << "插入位置不对" << endl;
		return;
	}
	for (int j =PtrL->Last; j >=i-1; j--) {
		PtrL->Date[j + 1] = PtrL->Date[j];
	}
	PtrL->Date[i] = X;
	PtrL->Last++;
}

(4)删除

void Delete(List PtrL, int i) {
	if (i<0 || i>PtrL->Last + 1) {
		cout << "删除位置不对
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值