当前位置: 首页 > news >正文

数据结构与算法编程题3

长度为n的顺序表,删除线性表所有值为x的元素,使得时间复杂度为O(n),空间复杂度为O(1)

#include <iostream>
using namespace std;typedef int ElemType;
#define Maxsize 100
#define	OK 1
#define  ERROR 0
typedef struct SqList
{ElemType data[Maxsize];int length;
}SqList;void Init_SqList(SqList& L)
{L.length = 0;
}void Delete_x1(SqList& L, int x)
{int k = 0;for (int i = 0; i < L.length; i++){if (L.data[i] != x)L.data[k++] = L.data[i];}L.length = k;
}void Delete_x2(SqList& L, int x)
{int count = 0;for (int i = 0; i < L.length; i++){if (L.data[i] == x)count++;elseL.data[i - count] = L.data[i];}L.length = L.length - count;
}//0 1 2 3 4 
//5 3 3 1 10
/*长度为n的顺序表,删除线性表所有值为x的元素,使
得时间复杂度为O(n),空间复杂度为O(1)*/
int main(void)
{SqList L;Init_SqList(L);cout << "--------------测试情况1--------------" << endl;L.data[0] = 5;L.data[1] = 3;L.data[2] = 3;L.data[3] = 1;L.data[4] = 10;L.length = 5;for (int i = 0; i < L.length; i++)cout << L.data[i] << "     ";cout << endl;//Delete_x1(L, 3);Delete_x2(L, 3);for (int i = 0; i < L.length; i++)cout << L.data[i] << "     ";cout << endl;cout << "--------------测试情况2--------------"<<endl;L.data[0] = 5;L.data[1] = 3;L.data[2] = 3;L.data[3] = 1;L.data[4] = 10;L.data[5] = 11;L.length = 6;for (int i = 0; i < L.length; i++)cout << L.data[i] << "     ";cout << endl;//Delete_x1(L, 3);Delete_x2(L, 3);for (int i = 0; i < L.length; i++)cout << L.data[i] << "     ";cout << endl;return 0;
}

在这里插入图片描述

http://www.lryc.cn/news/237015.html

相关文章:

  • Go基础面经大全(持续补充中)
  • uniapp heckbox-group实现多选
  • 读懂:“消费报销”模式新零售打法,适用连锁门店加盟的营销方案
  • 一个基本的http客户端
  • html-网站菜单-点击菜单展开相应的导航栏,加减号可切换
  • 2.FastRunner定时任务Celery+RabbitMQ
  • vb.net 实时监控双门双向门禁控制板源代码
  • 文具办公产品展示预约小程序的作用如何
  • 渗透测试流程是什么?7个步骤给你讲清楚!
  • 如何解决网站被攻击的问题:企业网络攻防的关键路径
  • 大健康产业的先行者「完美公司」携手企企通,推进企业采购供应链数字化进程
  • 在windows Server安装Let‘s Encrypt的SSL证书
  • GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)
  • Python3.7+PyQt5 pyuic5将.ui文件转换为.py文件、Python读取配置文件、生成日志
  • 使用 VPN ,一定要知道的几个真相!
  • 数电实验-----实现74LS153芯片扩展为8选1时间选择器以及应用(Quartus II )
  • 如何实现MATLAB与Simulink的数据交互
  • 【数据结构】归并排序
  • 数字引领,智慧赋能|袋鼠云与易知微共同亮相2023智慧港口大会
  • 星火模型(Spark)的langchain 实现
  • python运算符重载之构造函数和迭代器
  • 【数据处理】Python:实现求条件分布函数 | 求平均值方差和协方差 | 求函数函数期望值的函数 | 概率论
  • new/delete 和malloc/free的区别
  • Linux程序设计(上)
  • mysql面试题——存储引擎相关
  • 趣学python编程 (四、数据结构和算法介绍)
  • 使用Pandas进行时间重采样,充分挖掘数据价值
  • Django(九、choices参数的使用、多对多表的三种创建方式、Ajax技术)
  • 德语B级SampleAcademy
  • vue3自定义hooks