顺序表及其应用

掌握顺序表的初始化,初始化、查找、插入、删除、遍历、查看实际长度等操作

内容

  1. 从键盘输入n个整数,创建顺序表。【创建长度为n的顺序表】
  2. 从键盘输入1个整数x,在顺序表中查找x所在的位置。若找到,输出该元素所在的位置(即数组下标);若找不到,则显示“找不到”。【按值查找】
  3. 从键盘输入2个整数x、i,将元素x插入到第i个元素处,插入操作结束后遍历顺序表,观察输出结果。【插入】【遍历】
  4. 从键盘输入1个整数i,表示删除第i个元素,删除操作结束后遍历顺序表,观察输出结果。【删除】
  5. 从键盘输入1个整数x,删除找到的第一个值等于x的元素,删除操作结束后遍历顺序表,观察输出结果。【按值查找】【删除】
  6. 查看当前顺序表的长度。【求顺序表的长度】

完整代码

#include<iostream>
#include <stdlib.h>
using namespace std;#define MAX 20
#define datatype inttypedef struct seqList
{datatype data[MAX];int last;
}SeqList;
//初始化 
SeqList *Init()
{SeqList *L;L=(SeqList *)malloc(sizeof(SeqList));L->last=-1;return L;
}
//添加
void Add(SeqList *L)
{int a;cout<<"请输入需要添加的个数:" ;cin>> a;datatype arr[a];//保存要添加的值cout<<"请输入需要添加的值:" ;for(int i=0;i<a;i++){cin>>arr[i];}for(int i=0;i<a;i++){L->data[i]=arr[i];L->last++;//cout<<L->data[i];}} //显示,遍历void Output(SeqList *L) {if(L->last!=-1){cout<<"遍历:"<<endl;for(int i=0;i<=L->last;i++){cout<<L->data[i]<<" ";}cout<<endl;}else cout<<"空表,无数据!"; }//插入
int Insert(SeqList *L)
{int i;datatype x;cout<<"输入x,i,元素x插入到第i个元素处: ";cin>>x>>i;int j;if(L->last==MAX-1){cout<<"表满";return (-1);}if(i<1||i>L->last+2){cout<<"位置错";return (0); }for(j=L->last;j>=i-1;j--){L->data[j+1]=L->data[j];//节点移动,没有这行会越界,之前位置的节点会消失 }L->data[i-1]=x;L->last++;return(1);
}//删除
int Delete(SeqList *L)
{int i;cout<<"输入i,删除第i个元素:";cin>>i;int j;if(i<1||i>L->last+1){cout<<"不存在第i个元素";return (0); }for(j=i;j<=L->last;j++){L->data[j-1]=L->data[j];//移动 }L->last--;return (1);} //查找删除 
int Location_dete(SeqList *L)
{datatype x;
int i=0;cout<<"输入x,删除第一个值为x的元素:";cin>>x;while(i<=L->last&&L->data[i]!=x){i++;if(i<=L->last&&L->data[i]==x){for(i;i<=L->last;i++){L->data[i]=L->data[i+1];}L->last--;return (1);}else if(i>L->last)//最好加条件,不然删除最后一个的时候会找不到直接跳进这个里 {cout<<"没有此元素!"<<endl;return (-1);}}	} void Length(SeqList *L){cout << "顺序表的长度为:"<<L->last+1;//下标从0开始所以要加1 } int main()
{SeqList *LA;LA=Init();Add(LA);Output(LA);Insert(LA);Output(LA);Delete(LA);Output(LA);Location_dete(LA);Output(LA);Length(LA);return 0;
}

运行结果

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL开窗函数

文章目录 概念&#xff1a;语法&#xff1a;常用的窗口函数及示例&#xff1a;求平均值&#xff1a;AVG() &#xff1a;求和&#xff1a;SUM():求排名&#xff1a;移动平均计数COUNT():求最大MXA()/小MIN()值求分区内的最大/最小值求当前行的前/后一个值 概念&#xff1a; 开窗…

同旺科技 FLUKE ADPT 隔离版发布 ---- 说明书

所需设备&#xff1a; 1、FLUKE ADPT 隔离版 内附链接&#xff1b; 应用于&#xff1a;福禄克Fluke 12E / 15BMax / 17B Max / 101 / 106 / 107 应用于&#xff1a;福禄克Fluke 15B / 17B / 18B

利用文本图像对比模型进行虚假信息检测

Harnessing the Power of Text-image Contrastive Models for Automatic Detection of Online Misinformation 论文地址: CVPR 2023 Open Access Repositoryhttps://openaccess.thecvf.com/content/CVPR2023W/WMF/html/Chen_Harnessing_the_Power_of_Text-Image_Contrastive_…

51单片机学习(4)3-1 独立按键控制LED亮灭

#include<REGX52.H> void main() { //P20xFE; P2_01; while(1) { if(P3_10) { P2_00&#xff1b; } else { P2_01&#xff1b; } } }

力扣周赛398题解

特殊数组Ⅰ 如果数组的每一对相邻元素都是两个奇偶性不同的数字&#xff0c;则该数组被认为是一个 特殊数组 。 Aging 有一个整数数组 nums。如果 nums 是一个 特殊数组 &#xff0c;返回 true&#xff0c;否则返回 false。 示例 1&#xff1a; 输入&#xff1a;nums [1] …

SEO:屏蔽流氓蜘蛛抓取

解决屏蔽流氓蜘蛛抓取&#xff0c;如MJ12bot 、DotBot 、BLEXBot 、PetalBot 、DataForSeoBot 1、robots文件屏蔽 User-agent: MJ12bot Disallow: / User-agent:DotBot Disallow: / User-agent:BLEXBot Disallow: / User-agent:PetalBot Disallow: / User-agent:DataForSeoBot…

【C++】<知识点> 标准和文件的输入输出

目录 一、输入输出操作 1. 相关的类 2. 标准流对象 3. istream类的成员函数 二、流操纵算子 1. 整数流的基数 2. 浮点数精度的流操纵算子 3. 域宽的流操纵算子 4. 其他的流操纵算子 5. 用户自定义流操纵算子 三、文件读写 1. 文本文件的读写 2. 二进制文件的读写 3. 文件读写…

vue 点击复制文本到剪贴板

一、首先在vue文件的template中定义复制按钮 <div size"small" v-if"item.prop jadeCode" class"cell-container"><span>{{ scope.row.jadeCode }}</span> <button click"handleCopy(scope.row.jadeCode)" clas…

一周开发一个客服工单系统

开发一个客服工单系统在一周内完成&#xff0c;需要详细的计划和高效的执行。以下是一个详细的开发计划&#xff0c;涵盖每天的主要任务和技术栈选择&#xff1a; 演示效果&#xff1a;gofly.v1kf.com 技术栈选择 前端&#xff1a;React.js 或 Vue.js后端&#xff1a;Go (Gin)数…

K8s是如何Watch的?

1. 概述 进入 K8s 的世界&#xff0c;会发现几乎所有对象都被抽象为了资源(Resource)&#xff0c;包括 K8s Core Resources(Pod, Service, Namespace 等)、CRD、APIService 扩展的资源类型。同时 K8s 底层将这些资源统一抽象为了 RESTful 的存储(Storage)&#xff0c;一方面服…

jellyfish安装及使用(Bioinformatics工具-020)

01 背景 基因组survey以测序技术为基础&#xff0c;基于小片段文库的低深度测序&#xff0c;通过K-mer分析&#xff0c;快速获得基因组大小、杂合度、重复序列比例等基本信息&#xff0c;为制定该物种的全基因组de novo测序策略提供有效依据。 jellyfish (水母) 是一个用于快…

Docker-镜像迁移的三种方式=>备份恢复公有仓库私有仓库

制作好的镜像要被别人使用&#xff0c;有三种方式&#xff1a; 1.先备份镜像&#xff0c;别人通过u盘或者其它方式拷贝后&#xff0c;再恢复镜像&#xff0c;这种方式比较麻烦 2.将制作的镜像上传到公共镜像仓库&#xff0c;被别人拉取后使用&#xff0c;但可能存在网络不通畅或…

【零基础C语言】内存函数

前言&#xff1a; 我们之前学过strcpy&#xff0c;strcmp等等函数&#xff0c;他们可以拷贝字符串和比较字符串等等&#xff0c;那么有没有什么函数不光可以拷贝字符串还可以拷贝其他的数据呢&#xff0c;答案就是内存函数。 相较于字符串函数&#xff0c;内存函数可以拷贝的…

赎金信[简单]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你两个字符串&#xff1a;ransomNote和magazine&#xff0c;判断ransomNote能不能由magazine里面的字符构成。如果可以&#xff0c;返回true&#xff1b;否则返回false。magazine中的每个字符只能在ransomNote中使用一次。 示例 …

DPDK实践之(1)dpdk基础使用

DPDK实践之(1)dpdk基础使用 Author: Once Day Date: 2024年5月19日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文档可参考专栏&#xff1a;Linux基础知识_Once…

java判断日期格式的正则表达式

java判断日期格式的正则表达式 在Java中&#xff0c;你可以使用String类的matches()方法来检查一个字符串是否匹配特定的正则表达式。以下是一个用于判断日期格式是否为YYYY-MM-DD的正则表达式的例子&#xff1a; public class DateValidator { public static boolean isVal…

C语言 | Leetcode C语言题解之第109题有序链表转换二叉搜索树

题目&#xff1a; 题解&#xff1a; int getLength(struct ListNode* head) {int ret 0;while (head ! NULL) {ret, head head->next;}return ret; }struct TreeNode* buildTree(struct ListNode** head, int left, int right) {if (left > right) {return NULL;}int …

Mac维护神器CleanMyMac X成为你的苹果电脑得力助手

在数字化时代&#xff0c;Mac电脑已成为众多用户的首选。然而&#xff0c;随着频繁的使用和数据量的日益增长&#xff0c;许多Mac用户面临着系统杂乱、存储空间不足以及隐私保护等问题。幸运的是&#xff0c;"CleanMyMac X"这款优化和清理工具应运而生&#xff0c;它…

ROCm上情感分析:使用循环神经网络

15.2. 情感分析&#xff1a;使用循环神经网络 — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import torch from torch import nn from d2l import torch as d2lbatch_size 64 train_iter, test_iter, vocab d2l.load_data_imdb(batch_size)class BiRNN(nn.Module):…

java抽象类,接口,枚举练习题

第一题&#xff1a; 答案&#xff1a; class Animal{//成员变量protected String name;protected int weight;//构造方法public Animal(){this.name"refer";this.weight50;}public Animal(String name,int weight){this.namename;this.weightweight;}//成员方法publ…