数据结构(C语言版) 线性表 算法设计Demo27

Posted 奕兴_Victor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 线性表 算法设计Demo27相关的知识,希望对你有一定的参考价值。

从顺序表中删除其值在给定值s与t之间(包含s和t,要求s<t)的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。

[算法分析]

从前向后扫描顺序表L,用k记录元素值在s到t之间元素的个数(初始时k=0)。对于当前扫描的元素,若其值不在s到t之间,则前移k个位置,否则执行k++。由于这样每个不在s到t之间的元素仅移动一次,因此算法效率高。

[算法描述]

bool Del(SqList &L,ElemType s,ElemType t)
	int i,k=0;
	if(L.lenght==0||s>=t)
		return false; //线性表为空或s、t不合法,返回
	for(i=0;i<L.lenght;i++)
		if(L.data[i]>=s&&L.data[i]<=t)
			k++;
		else
			L.data[i-k]=L.data[i]; //当前元素前移k个位置
	
	L.lenght-=k;
	return true;

以上是关于数据结构(C语言版) 线性表 算法设计Demo27的主要内容,如果未能解决你的问题,请参考以下文章

数据结构(C语言版) 线性表 算法设计Demo18

数据结构(C语言版) 线性表 算法设计Demo17

数据结构(C语言版) 线性表 算法设计Demo19

数据结构(C语言版) 线性表 算法设计Demo11

数据结构(C语言版) 线性表 算法设计Demo29

数据结构(C语言版) 线性表 算法设计Demo26