线性表的使用

简介: 线性表有这几个操作:初始化函数插入函数删除函数展示函数销毁函数

线性表有这几个操作:

初始化函数

插入函数

删除函数

展示函数

销毁函数

具体代码如下:

#include<iostream>
#define MAXSIZE 100
using namespace std;
class List {
private:
 int len;
 int* data;
public:
 //初始化:
 void Init() {
  len = 0;
  data = new int[MAXSIZE];
 }
 //插入函数
 void Insert(int pos,int number) {
  //从len-1到pos-1
  //移动
  for (int i = len-1; i >= pos-1; i--)
  {
   data[i + 1] = data[i];
  }
  //赋值
  data[pos - 1] = number;
  len++;//插入后长度加一
 } 
 //展示函数
 void Show() {
  if (len > 0) {
   cout << "线性表的长度为:" << len << endl;
   for (int i = 0; i < len; i++) {
    cout << data[i] << "|";
   }
  }
  //如果线性表已经delete
  if (len == -1) {
   cout << "线性表已经销毁" << endl;
  }
  cout << endl;
 }
 //删除函数
 void Delete(int pos, int* number) {
  //取删除的值
  *number = data[pos - 1];
  //移动
  for (int i = pos - 1; i < len; i++) {
   data[i] = data[i + 1];
  }
  len--;
 }
 //释放内存
 void Destroy() {
  delete[]data;
  len = -1;
 }
};
int main()
{
 List A;
 A.Init();
 //插入函数
 for (int i = 1; i <= 100; i++) {
  A.Insert(1,i);
 }
 A.Show();
 int t;
 for (int i = 1; i <= 50; i++) {
  A.Delete(1, &t);
  cout << "Delete:" << t << endl;
 }
 A.Show();
 A.Destroy();
 A.Show();
}


相关文章
|
机器学习/深度学习 算法 测试技术
使用ORPO微调Llama 3
ORPO是一种结合监督微调和偏好对齐的新型微调技术,旨在减少训练大型语言模型所需资源和时间。通过在一个综合训练过程中结合这两种方法,ORPO优化了语言模型的目标,强化了对首选响应的奖励,弱化对不期望回答的惩罚。实验证明ORPO在不同模型和基准上优于其他对齐方法。本文使用Llama 3 8b模型测试ORPO,结果显示即使只微调1000条数据一个epoch,性能也有所提升,证实了ORPO的有效性。完整代码和更多细节可在相关链接中找到。
569 10
|
编解码 测试技术
【自己动手画CPU】单总线CPU设计(二)
【自己动手画CPU】单总线CPU设计(二)
340 1
|
7月前
|
人工智能 自然语言处理 运维
智能体Agent:用自然语言重构数据开发
本文分享如何基于利用MCP协议,配置MCP Server,以调用大数据开发与治理平台DataWorks Open API搭建智能体Agent,实现通过自然语言完成数据集成与数据开发等任务。文章还介绍了MCP协议的基本知识,帮助大家了解背后实现原理。大家可以通过自行配置体验数据工作流智能自动化运行。
873 49
智能体Agent:用自然语言重构数据开发
|
8月前
|
算法 数据安全/隐私保护
VSG虚拟同步发电机simulink建模与仿真
### VSG虚拟同步发电机Simulink建模与仿真简介 虚拟同步发电机(VSG)技术是电力电子领域的重要创新,尤其在可再生能源接入电网方面展现出巨大潜力。VSG通过先进的控制策略,使逆变器控制的电源系统(如光伏、风能)表现出与传统同步发电机类似的动态行为,提高电力系统的稳定性和兼容性。本课题基于MATLAB2022a进行VSG的Simulink建模与仿真,核心内容包括电流控制、电压控制、频率控制及虚拟惯量与阻尼控制。系统仿真结果展示了VSG的有效性,并验证了其在实际应用中的潜力。
Java中的多线程实现及性能优化
【4月更文挑战第11天】本文将深入探讨Java中的多线程实现方法,包括继承Thread类、实现Runnable接口以及使用Executor框架。同时,我们将分析多线程中的性能瓶颈,并提出相应的优化策略,以提高程序的执行效率。
|
前端开发
css中的多行省略和单行省略
css中的多行省略和单行省略
|
人工智能 自动驾驶 算法
人工智能伦理:技术发展与道德责任的交汇点
随着人工智能技术的飞速发展,其伦理问题亦成为社会关注的焦点。本文将探讨AI技术在带来便利的同时,所面临的伦理挑战和责任归属问题。通过分析AI在不同领域的应用案例,并结合最新的研究成果和统计数据,文章旨在提供一个全面的视角来审视人工智能的伦理维度,同时呼吁制定更为严格的伦理准则和监管政策,以确保技术的健康发展与社会价值的和谐统一。
|
前端开发 JavaScript 定位技术
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
342 1
|
负载均衡 安全 Linux
在Linux中,什么是负载均衡,并且如何在Linux中实现它。
在Linux中,什么是负载均衡,并且如何在Linux中实现它。