从顺序表中删除其值在给定值s-t之间的所有元素

题目描述

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

cpp 复制代码
#include<iostream>
using namespace std;
#define Maxsize 1000

typedef struct
{
	int data[Maxsize];
	int length;
}sqList;

bool del_s_t(sqList& L, int s, int t)
{
	int k = 0;
	if (L.length == 0 || s > t)
		return false;
	for (int i = 0; i < L.length; i++)
	{
		if (L.data[i] >= s && L.data[i] <= t)
		{
			k++;
		}
		else L.data[i - k] = L.data[i];
	}
	L.length -= k;
	return true;
}
int main()
{
	sqList L = {1,3,4,5,8,9,10};
	L.length = 7;
	cout << "init seq:";
	for (int i = 0; i < L.length; i++)
		cout << L.data[i] << " ";
	cout << endl;
	del_s_t(L, 2,5);
	cout << "changed seq:";
	for (int i = 0; i < L.length; i++)
		cout << L.data[i] << " ";
	return 0;

}
相关推荐
MobotStone6 小时前
数字沟通之道
人工智能·算法
点云SLAM6 小时前
Boost库中Math 模块的插值(interpolation使用和示例
算法·插值·boost库·b-spline·akima 样条·单调三次样条·barycentric 插值
鸭子程序员6 小时前
c++ 算法
开发语言·c++·算法
Ghost-Face6 小时前
《逆袭导论》————初中生的宝书
算法
不会c嘎嘎6 小时前
算法百练,直击OFFER -- day5
c++·算法
Aileen_0v07 小时前
【Gemini3.0的国内use教程】
android·人工智能·算法·开源·mariadb
CoderYanger7 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
乌萨奇也要立志学C++7 小时前
【洛谷】二分查找专题 告别二分死循环!模板 + 细节 + 实战
c++·算法
Rock_yzh7 小时前
LeetCode算法刷题——128. 最长连续序列
数据结构·c++·算法·哈希算法
WolfGang0073217 小时前
代码随想录算法训练营Day32 | 518.零钱兑换II、377. 组合总和 Ⅳ、70. 爬楼梯(进阶)
算法