第三周项目4(1)-顺序表应用 删除区间【x,y】内的元素

这篇博客介绍了如何在顺序表中删除由端点x和y定义的区间内的元素,详细讨论了四种不同情况:1. x<y删除多个元素;2. x=y删除一个元素;3. 端点不符,原样输出;4. 区间涵盖整个线性表,输出空表。通过该项目,作者提升了算法分析和库调用能力,学会了在特定复杂度要求下设计高效算法。
摘要由CSDN通过智能技术生成

问题及代码:

/*

copyright (t) 2016,烟台大学计算机学院

*All rights reserved.

*文件名称:1.cpp

*作者:车金阳
*完成日期:2016年9月22日

*版本号:v1.0

*问题描述:定义一个采用顺序结构存储的线性表,删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1); 

*输入描述:线性表长度、线性表元素及删除区间【x. y】

*程序输出:删除后的元素

*/


list.h:

#define Maxsize 100
typedef int Elemtype;          //自定义数据类型
typedef struct list
{
    Elemtype data[Maxsize];    //存顺序表元素
    int length;                //存顺序表长度
} Sqlist;

void CreateList(Sqlist *&l,Elemtype a[],int n);    //由a中的n个元素建立顺序表
void DispList(Sqlist *l);                          //输出线性表
int ListLength(Sqlist *l);                         //求顺序表长度
bool GetElem(Sqlist *l,int i,Elemtype &e);         //求顺序表中某个数据元素值
bool ListInsert(Sqlist *&l,int i,Elemtype e);      //插入数据元素
void InitList(Sqlist *&l);                         //初始化线性表
void unionList(Sqlist *LA,Sqlist *LB,Sqlist *&LC); //求两集合并集
bool del(Sqlist *&l,int x,int y);            //删除指定区间内元素

fun.cpp:

#include <stdio.h>
#include <malloc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值