线性表L采用顺序存储,表中元素为整形且按升序排列。设计一个算法删除表中大于emin且小于一emax的数据。
1个回答
关注
展开全部
咨询记录 · 回答于2022-12-19
线性表L采用顺序存储,表中元素为整形且按升序排列。设计一个算法删除表中大于emin且小于一emax的数据。
您可以使用如下算法来删除线性表L中大于emin且小于emax的数据:初始化两个变量i和j,分别指向线性表L的第一个元素和最后一个元素。循环执行以下步骤,直到i大于j: a. 如果L[i]小于emin,则i向后移动一个元素。 b. 如果L[j]大于emax,则j向前移动一个元素。 c. 如果L[i]大于emin且L[j]小于emax,则交换L[i]和L[j]的值,并同时将i和j向后移动一个元素。删除线性表L中i之后的所有元素。这个算法的时间复杂度为O(n),其中n是线性表L的长度。