数据结构(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的主要内容,如果未能解决你的问题,请参考以下文章