蓝桥杯基础数据结构(java版)

引言

数据结构=数据+结构。所以数据结构是一个抽象的概念。其目的是为了更好的组织数据方便数据存储。下面我们来看一些简单的数据储存方式

输入和输出

这里先介绍java的输入和输出。简单引入,不过多详细介绍,等我单一写一篇的时候这里会挂上链接
简单的就是Scanner,使用方法如下:

Scanner scan = new Scanner(System.in);//引包记得用ctrl+shift+o,不引包会报错的

放我们获取键盘输入的时候,可查看一下用法:

int a = scan.nextInt();//从键盘获取一个数字
String b = scan.next();//从键盘获取一个字符串
//多个数字或者字符串了可以用空格分隔,也可以用换行符分割

输出就是:

System.out.println();//ln为换行输出,不加ln就可以不换行输出。有心情就自己去试

数组

数组是 我们常见的一个简单的数据结构,其引用方式为:

数据类型[] 数组名 = new 数据类型[size];//size为数组的大小,记得替换为数字

引入数组知识–下标:下标是为了查找数据的,因为我们储存过多的数据,所以利用下标来进行元素的访问的,第i个数的下标为i-1。
其次每个数组只能存放单一的元素,一个数据只能储存一种类型的元素。
实例:

int[] arr = new int[10];//创建一个有10个数字元素数组
String[] arr = new String[10];//创建一个有10个字符元素的数组

看到这里是不是觉得有点空,拿来看一道简单的题目吧;

  1. 从键盘获取10个数字并输出
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner scan = new Scanner(System.in);int[] a = new int[10];//引入数组用来存储数据for (int i = 0;i<10;i++){a[i]= scan.nextInt();//利用for循环来多次读入数据}for (int i = 0; i < 9; i++) {System.out.println(a[i]);//for循环遍历数据输出}}
}

二维数组

二维数组就是一维数组的扩展,其实例化方式为

数据类型[][] 数组名 = new 数据类型[size][size];//size大小

实例:

int[][] arr = new int[10][10];
char[][] chars = new char[10][10];

说到了二维数组,那这里就不得不提到Arrays函数了。Arrays函数提供了一种转换数组的功能。下边看
实例

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String b= scan.next();char[] chars =b.toCharArray();for (int i = 0; i < chars.length; i++) {System.out.print(chars[i] + " ");}}
}

这个操作也可以用到二维数组的读入中,大家可以自己尝试,不能再多说了,在多说就想把这就该改为付费内容了

相关例题

List

链表其实是一个可变长度的数组。应用于我们存储的数据量未知的情况,也就是数组不知道怎么开空间的时候.

语法格式

List<Integer> list = new LinkedList();//Integer是int的封装类行,<>中就是代表集合的数据类型,不过这里要用封装类型
List<Integer> list1 = new ArrayList<>();//也可以用这个,具体一个是链表实现,一个是数组实现

相关操作

数组我们没有细说储存,细说牵扯的就比较多了。数组我们是开辟了一片空间通过下标来储存对应的元素,而链表是我们开辟了一个头节点,然后通过增/删的操作来加长/减短链表的大小。看图:

函数作用
add(value)添加元素
remove(index)删除元素
isEmpty判断集合是否为空
contains(value)是否包含该元素
size返回几个元素个数
get(index)获取元素

相关例题

Set(集合)

上边我们说了list集合,set集合和list集合都是用来存储的,其差异在与set集合不会储存重复元素,也就是说其元素存在唯一性。
实现

Set<Integer> set = new HashSet();//依旧Integer代表的是封装数据类型

相关操作

函数作用
add(value)添加元素
remove(index)删除元素
contains(value)是否包含该元素
size返回几个元素个数
clear清空元素

相关例题

Map(键值)

Map集合是一种特殊的集合,其储存方式为key-value形式,就像字典那样每一个拼音下边都很多汉字
实现

Map<Integer,Integer> map = new HashMap<>();//Integer依旧为封装数据类型,可替换

相关操作

函数作用
put(key,value)添加元素
get(key)获取与key对应的value值
size()返回几个元素个数
entrySet将map集合转化成为一个set集合,方便遍历
getOrdefault(key,value)获取指定的key和value,没有则返回默认值

相关例题

Stack(栈)

栈是一个比较熟悉的词,下边简单解释,它是只允许在一段进行插入和删除的线性表,只能在一端进行插入和删除,就以为这最先进入的元素会最后出来,这也对应了栈的特点,先进后出。

相关操作

函数作用
push(value)添加元素
pop()删除栈顶元素
peek()返回栈顶元素,但不删除
isEmpty判断是否为空

相关例题

Queue(队列)

队列与栈有所不同,栈是只能在一端插入和删除,而队列是一头出一头进,你也可以理解成为耳朵出右耳朵进。这也对应了其特点:先进先出

相关操作

函数作用
add(value)添加元素
poll()删除队头元素
peek()返回队头元素,但不删除
isEmpty判断是否为空

相关例题

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

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

相关文章

OpenCV-Python(34):FAST算法

目标 理解 FAST 算法的基础使用OpenCV 中的FAST 算法相关函数进行角点检测 介绍 FAST算法&#xff08;Features from Accelerated Segment Test&#xff09;是一种用于在图像中快速检测角点的算法。它是一种基于像素的检测方法&#xff0c;具有高效、准确的特点&#xff0c;常…

【算法分析与设计】最短路径和

题目&#xff1a; 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;grid [[1,3,1],…

【PHP AES加解密示例】从入门到精通,一篇文章让你掌握加密解密技术!

一、引言 随着互联网的普及&#xff0c;数据安全问题越来越受到人们的关注。在众多加密算法中&#xff0c;AES&#xff08;Advanced Encryption Standard&#xff09;因其高效、安全的特点被广泛应用。本文将通过PHP语言&#xff0c;为大家展示一个简单的AES加解密示例&#x…

Retinal Structure Detection in OCTA Image viaVoting-Based Multitask Learning

一、摘要 研究背景&#xff1a;自动检测视网膜结构&#xff0c;如视网膜血管(RV)、中央凹血管区(FAZ)和视网膜血管连接(RVJ)&#xff0c;对了解眼部疾病和临床决策具有重要意义。 主要工作&#xff1a;在本文中&#xff0c;提出了一种新的基于投票的自适应特征融合多任务网络…

Pr模板(剪辑素材),Pr预设(视频转场,调色),Pr插件,Pr教程,Pr模板网

PR模板,免费Premiere模板下载网站.logo片头模板,标题字幕,样机相册,节奏快闪,开场预告,转场特效,图文照片,抖音自媒体Vlog短视频模板等Premiere项目工程源文件模板下载 Pr模板&#xff1a;https://prmuban.com/template PR预设,PR转场预设,PR调色预设,Pr剪辑视频特效PR预设.pr…

Union-Find

板子&#xff1a; 非递归写法&#xff08;基于链表&#xff09; public class LinkedDSU {public static final int illegal_next-1;private static class Node{int equiv;int next;int length;Node(int e,int n,int len){equiv e;next n;length len;}}private final Node…

优化的实时换脸项目——DeepFaceLive

DeepFaceLive是一款基于人工智能技术的换脸工具&#xff0c;可以实现实时面部捕捉和换脸效果。它利用深度学习和计算机视觉算法&#xff0c;能够以惊人的准确度和速度将脸部特征无缝地映射到任何人的脸上。DeepFaceLive的特点是可以实时换脸&#xff0c;让用户通过网络摄像头应…

银行网络安全数字化挂图作战体系建设

文章目录 前言一、网络安全数字化挂图作战的动力与支撑(一)国家层面(二)集团公司层面(三)自身层面二、网络安全数字化挂图作战的目标与定位(一)挂图作战体系设计1、总体框架设计2、安全度量框架构建3、挂图作战体系建设(二)挂图作战实施行动路径(三)挂图作战系统建…

MySQL高可用解决方案演进:从主从复制到InnoDB Cluster架构

目录 前言 1. 主从复制 主从复制的基本配置示例&#xff1a; 2. 主从复制的限制 3. InnoDB Cluster架构 InnoDB Cluster配置步骤示例&#xff1a; 4. InnoDB Cluster的优势 总结 ⭐️ 好书推荐 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&…

京东年度数据报告-2023全年度游戏本十大热门品牌销量(销额)榜单

同笔记本市场类似&#xff0c;2023年度游戏本市场的整体销售也呈下滑态势。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;京东平台上游戏本的年度销量累计超过350万&#xff0c;同比下滑约6%&#xff1b;销售额将近270亿&#xff0c;同比下滑约11%。 鲸参谋综合了京东…

买卖股票的最佳时机【贪心】

Problem: 121. 买卖股票的最佳时机 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 简单遍历一下就行。 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( 1 ) O(1) O(1) Code class Solution:def maxProfit(self, prices: List[int]) -> int:pre_min…

C语言变量与函数

目录 变量函数 变量 变量&#xff1a;计算机里的一块内存空间int a 0; 表示定义一个整型 int 变量&#xff1b;这个变量名字叫做 a “” 表示赋值&#xff1b;即将右边的 0 赋值给左边的整型变量 a 现在这一块空间 a 存放了一个值 0 这个过程也叫做整型变量 a 的初始化初始化…

C++/WinRT 简介

C/WinRT 是 Windows 运行时 (WinRT) API 的完全标准新式 C17 语言投影&#xff0c;以基于标头文件的库的形式实现&#xff0c;旨在为你提供对新式 Windows API 的一流访问。 利用 C/WinRT&#xff0c;你可以采用任何符合标准的 C17 编译器创作和使用 Windows 运行时 API。 Wind…

OSG StatsHandler 初步学习

osg为视景器的使用和调试提供了丰富的辅助组件&#xff0c;它们主要是以osg::ViewerBase的成员变量或交互事件处理器(osgGA::GUIEventHandler)的形式出现。osgViewer::StatsHandler、osg::Stats类就是其中的两个经常用到的辅助组件。 #include<osgViewer/Viewer> #inclu…

iOS xcode 15.1 打包报错

真机调试的时候没问题&#xff0c;打包的时候报错了 #报错 解决办法 pods.xcodeproj - build phases - compile sources - compiler flags pods.xcodeproj - Targets-support files pods-xx-frameworks

基类的友元类,可以访问其派生类的私有虚函数

我们知道一个基类的友元类&#xff0c;并不是其派生类的友元类 &#xff0c;但是一个基类的友元类&#xff0c;可以访问其派生类的虚函数&#xff0c;而不受访问限制 #include <iostream> class Base{friend class Test; //基类的友元类Testvirtual void f() 0; //虚…

2023年全国职业院校技能大赛应用软件系统开发赛项(高职组)赛题第6套

竞赛说明 一、项目背景 党的二十大报告指出&#xff0c;要加快建设制造强国、数字中国&#xff0c;推动制造业高端化、智能化、绿色化发展。《IDC中国制造企业调研报告&#xff0c;2021》报告指出&#xff0c;制造执行系统&#xff08;MES&#xff0c;Manufacturing Executio…

Ubuntu下git提示:终止提交因为提交说明为空。

这么简单的问题居然搜索了一会儿&#xff0c;现在的网络环境越来越差了。 解决方法&#xff1a; gedit: git config --global core.editor "gedit -s" the paramater "-s " means set the gedit mode to "standalone" Sublime Text 2 git …

GitHub Copilot的使用方法和快捷按键

GitHub Copilot是GitHub与OpenAI合作开发的一款人工智能编码助手。它基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型&#xff0c;可以为你提供代码补全、建议和生成的功能 使用方法&#xff1a; 安装插件&#xff1a; 首先&#xff0c;确保你的开发环…

[redis] redis的安装,配置与简单操作

一、缓存的相关知识 1.1 缓存的概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度&#xff0c;在中间对速度较慢的一方起到加速作用&#xff0c;比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据&#xff0c;内存是保存CPU经常访问硬盘的数据&#xff0c;而且…