第一章 线性表
题目004:
从有序顺序表中删除其值在给定值s与t之间(要求s<t)的所有元素,如果s或t之间不合理或顺序表为空,则显示出错信息并退出运行。
算法思想:先寻找大于等于s的元素,再寻找大于t的第一个元素,由于有序表是连续的,所以只需要把将后面的元素前移即可。
C版本
bool Del_num(SqList &L,int s,int t){
//删除有序表中给定s与t之间的所有元素
int i,j;
if(s>=t || L.length==0) //删除位置不合法或是空表,则退出
return false;
for(i=0;i<L.length&&L.data[i]<s;i++); //寻找值大于等于s的第一个元素
if(i>=L.length)
return false;
for(j=i;j<L.length&&L.data[j]<=t;j++); //寻找大于t的第一个元素
for