线性表

线性表是一种包含零个或多个元素的有限序列,主要讨论其顺序存储方式。顺序存储的线性表在进行元素的删除和添加操作时,由于需要移动大量元素,导致效率相对较低。
摘要由CSDN通过智能技术生成

线性表:零个或多个元素的有限序列。

线性表顺序存储的缺点:在删除和添加元素时会移动大量元素,效率低下。

 

#include<stdio.h>
#include<assert.h>
#define SIZE 10

typedef struct Sqlist
{
	int elem[SIZE];
	int usedsize;
}Sqlist,*PSqlist; //SqList定义类型变量,使用*PSqList定义指针变量

//初始化
void InitSqlist(PSqlist Psq)
{
	assert(Psq != NULL);
	Psq->usedsize = 0;
}

bool isFull(PSqlist Psq) 
{
	return Psq->usedsize == SIZE;
}

bool Insert(PSqlist Psq,int pos ,int val)//在 pos 位置插入 val 值
{
	assert(Psq != NULL);
	if(pos < 0 || pos > Psq->usedsize || isFull(Psq))
	{
		return false;
	}
	//挪数据
	for(int i = Psq->usedsize-1;i >= pos;i--)
	{
		Psq->elem[i+1] = Psq->elem[i];
	}
	Psq->elem[pos] = val;
	Psq->usedsize++;
	return true;
}

bool isEmpty(PSqlist Psq) 
{
	return Psq->usedsize == 0;
}

int Search(PSqlist Psq,int pos,int key)//从pos位置开始查找 key 值==>第一次出现==》返回下标  -1
{
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值