2022.04.02

在Ubuntu 18.04上,用QEMU和Buildroot 2022.02.6快速搭建ARMv7开发环境(保姆级教程) 本文提供在Ubuntu 18.04上使用QEMU和Buildroot 2022.02.6搭建ARMv7开发环境的详细教程。从环境准备、QEMU编译、Buildroot配置到系统运行,涵盖完整步骤和实用技巧,帮助开发者快速构建高效的嵌入式开发环境,无需物理硬件即可进行跨平台测试和调试。 阅读详情

前言:

最近这段时间都在练习算法,备战蓝桥杯,关于Java数组和链表的学习,因为有过C语言学习链表的基础,再次学习Java语言的链表,就不觉得那么难了。C语言是通过指针来连接,而Java通过对象来创建,进行连接。二者有异曲同工之妙。

学习感悟:

首先来说就是创建一个节点类存放数据和指针,指向下一个节点,由此一个普通的节点类就创建好了

代码实现:

public class Node {
    public int data;//其中的类型可以换成其他自己封装定义的Data类,存储的东西更丰富
    public Node next;//Node是这里面定义的节点类型相当于一个指针,也可以理解为对象的创建

    public Node(int data){
        this.data=data;
    }

    public Node(int data, Node next) {
        this.data = data;
        this.next = next;
    }
}

之后的增删改查都是通过改变指向来执行的操作

单链表结构:

 

代码实现:

class SingleLinkdemo {//定义一个单链表
    private Node head = new Node(0);//定义以个链表的头节点;以便于找到整个链表

    public Node getHead() {
        return head;
    }//得到头节点,

    public void addNode(Node heroNode) {//添加一个新的节点加入该链表中
        Node temp = head;
        while (true) {
            if (temp.next == null) break;
            temp = temp.next;//找到最后的节点
        }
        temp.next = heroNode;//将链的下一个指向新创建的节点;

    }

    public void showLink(Node head) {//显示所以节点
        if (head.next == null) {
            System.out.println("null");
            return;
        }
        Node temp = head.next;
        while (true) {
            if (temp == null) break;
            System.out.println(temp);
            temp = temp.next;
        }

    }

    public void updata(Node heroNode) {//更改链表节点,通过改变next的指向将节点进行替换
        if (head.next == null) {
            System.out.println("null");
            return;
        }
        Node temp = head.next;
        boolean flag = false;
        while (true) {
            if (temp.data == heroNode.data) {
                flag = true;
                break;
            }
            temp = temp.next;
        }
        if (flag) {
            temp.data = heroNode.data;
        } else {
            System.out.println("没找到");
        }
    }
}

再之后的创建的双向链表循环链表等,都是再此基础上进行的操作,双向链表就是再此创建一个新的指向,在链表的定义上加入Node pre;指向节点前的一个新的节点。循环链表的话,就是将单链表最后的那个指向进行更改,让它指向头节点。

总结:

对于本次的链表算法的学习,在之前的基础上能很好的理解它并能够加以运用举一反三,在练习时多加思考,不但要学习新的知识,还要巩固之前学过的知识,如此才能有知识的累计。

告别云服务器!在Ubuntu 18.04上5分钟搞定ARMv7开发环境(QEMU + Buildroot 2022.02.6) 本文详细介绍了如何在Ubuntu 18.04上快速搭建ARMv7开发环境,使用QEMU模拟器和Buildroot工具链,5分钟内完成配置。通过实战指南,开发者无需依赖云服务器或实体硬件,即可获得完整的ARM开发环境,适用于嵌入式系统开发和测试。 阅读详情

相关推荐

CSM中一些常见问题的解决方式

CSM中一些常见问题的解决方式 抖动 摄像机在每帧移动或者旋转时,会产生较严重的抖动问题。

小龙虾的博客 2130

Ubuntu 22.04.5 LTS 和 buildroot 2022.02.12, 安装 Qt 5.15

安装:sudo apt install qtbase5-dev qtcreator qt5-qmake build-essential。因为换了工具链(GCC 4.9.4 → 11.2),之前用旧编译器编出来的目标文件不兼容,需要全部重新编译。由于以前配置的交叉编译器是 GCC 4.9.4 ,不满足 Qt5 的要求(需要 ≥ 5.0),需要换 GCC 版本。查询支持的 Qt 版本: grep "QT5_VERSION" package/qt5/qt5.mk。其他的,需要的时候再勾选上。

2301_79809746的博客 308

Win10+pycharm+conda 配置Siammask 过程记录(新手向)

我们跑动demo 需要配置两个相关的文件这两个文件需要用 git 进行下载,对于不熟悉git的小伙伴 我这里给出连接,大家可以直接下载即可,并将其配置在 experiments文件夹下然后大家再需要在设置参数参数这里给出了。

C1137577723的博客 550

2022.02.04

课时146 #测试os模块中,文件和目录的操作 import os #获取文件和文件夹的信息 print(os.name) #windos->nt linux和unix->posix print(os.sep) #windos->| linu和unix->/ print(repr(os.linesep)) #windos->\r\n linux->\n\ print(os.stat("test.py")) 执行结果: nt \ '\r\n' ..

ifuudoudou的博客 529

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 346

【屠龙之术】SAP 欧洲公司 高级合规性报表 FEC

所谓FEC ,其实是法国税务局要求法国的公司,每年要向税务局进行提交的税务报告,这个报告有特殊的格式,进行加密,法国公司要在收到税务局通知以后,及时进行报送,如果不报送,或者报送不合格文件,将面临5000欧的罚款。-----------------------------------------------进入正文----------------------------------------------------------------------有专门的T-code,PPT我就不贴了,我直接截图。

竹大的博客 1959

2022/02/04

API(Application Programming Interface):应用程序编程接口,即封装好的函数。如:fopen()函数,它的功能是让操作系统打开一个文件。 今天学着写了几个函数。 /*设置光标位置*/ void gotoxy(int x,int y) { COORD c; c.X=x; c.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); //SetConsoleCurs

cslx97的博客 763

Claude Code Agents 进阶:多代理协作与任务委托

Agent 是一个独立运行的 Claude 实例,它有自己的上下文和任务焦点。│ 主 Claude ││ (协调者) ││ │ │▼ ▼ ▼│ 代码审查 │ │ 测试生成 │ │ 文档编写 ││ │ ││▼汇总结果,完成任务并行处理:多个 Agent 同时工作,提高效率任务隔离:每个 Agent 有独立的上下文专业分工:不同类型的 Agent 擅长不同任务灵活控制:可以指定运行模式、超时等参数。

gaoxiang_120的专栏 336

2022-04-02每日刷题打卡

2022-04-02每日刷题打卡 代码源——每日一题 BFS练习1 - 题目 - Daimayuan Online Judge 给你一个数字a,每次可以选择下面四种操作中的一种: 把数字a加上一。 把数字a乘以2。 把数字a乘以3。 把数字a减去一。 问把这个a变成b最少需要多少步。 你要回答q个询问,b1,b2,…,bq,输出把a变成b1,b2,…,bq的最小步数。 输入格式 第一行两个整数a,q。 接下来一行q个整数b1,…,bq。 输入格式 输出q个数字,分别表示把a变成b1,b2…,bq的最小步

fnmdpnmsl的博客 1341

Python 爬虫实战:在房天下抓取房产信息,分析房价走势

通过本次 Python 爬虫实战,我们成功地从房天下爬取了房产信息,并进行了存储、处理、分析和可视化展示。在这个过程中,我们不仅掌握了爬虫技术的基本应用,还学会了如何对动态加载的数据进行处理和分析。然而,本次爬虫任务也存在一些局限性,例如仅爬取了部分区域的房产数据,且未对房产的图片和视频内容进行分析。在未来的工作中,我们可以进一步优化爬虫程序,爬取更多区域的房产数据,并深入分析房产的多媒体内容、用户行为模式等,为购房者和房地产从业者提供更有价值的数据支持。

u014481728的博客 1366

SAP S/4HANA Cloud 管理员业务角色创建实战:基于 SAP_BR_ADMINISTRATOR 模板的一站式指南

摘要:SAP S/4HANA Cloud新系统初始登录时常见Fiori Launchpad无磁贴的问题,这是由于缺乏合适的业务角色分配。本文介绍了通过预交付的SAP_BR_ADMINISTRATOR模板创建管理员角色的完整流程,包括业务用户、业务角色和业务目录的核心概念解析。重点说明了直接使用模板的风险,并提供了从模板创建自定义管理员角色的详细步骤(4.1-4.3),以及权限限制设置的注意事项。文中还分享了一个实际项目案例,强调正确配置管理员角色对后续权限体系建设的关键作用。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 200

2022-04-02_顺序表实现小堆

一、创建三个文件 二、代码实现 1.Heap.c部分 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <errno.h> #include <ctype.h> #includ...

qq_43205256的博客 1027

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

2022.04.02 力扣518,377,322

学习完全背包问题(动态规划) follow:代码随想录 完全背包(unbounded knapsack problem)与01背包不同就是每种物品可以有无限多个:一共有N种物品,每种物品有无限多个,第i(i从1开始)种物品的重量为w[i],价值为v[i]。在总重量不超过背包承载上限W的情况下,能够装入背包的最大价值是多少? 一维数组解法: public static int completeBagProblem(){ int[] weight = {1, 2, 4}; i

weixin_43659314的博客 385

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

每日一练 — 2022.02.04

文章目录一,求根节点到叶节点数字之和1,程序简介每条从根节点到叶节点的路径都代表一个数字:示例 1:示例 2:提示:2,程序代码3,运行结果二,二叉树的锯齿形层序遍历1,程序简介例如:返回锯齿形层序遍历如下:2,程序代码3,运行结果三,分割回文串1,程序简介示例 1:示例 2:提示:2,程序代码3,运行结果 一,求根节点到叶节点数字之和 1,程序简介 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节

梁辰兴的博客 189

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

国产化minio上传文件成文件夹

新版本机制,建议还原老版本2022.5月之前的版本。

qq_31061645的博客 2607

2022/02/04 北京 dubbo配置

启动时检查: 默认情况下dubbo启动时会检查服务是否可用。(check=true) <!--关闭消费者服务启动时的服务检查 check="false" --> <dubbo:reference interface="com.atguigu.gmall.service.UserService" id="userService" check="false" ></dubbo:reference> <!-- dubbo:reference是单个服务设置 du.

m0_56799642的博客 1610

2022-04-02_顺序表实现大堆

一、创建三个文件 二、代码实现 1.Heap.c部分 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <errno.h> #include <ctype.h> #include

qq_43205256的博客 894

2022.02.18 day04 作业

2022.02.18 day05 作业 根据输入的成绩的范围打印及格 或者不及格。 score=67 if score>=60: print('及格') else: print('不及格') 根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!。 age=int(input('输入一个年龄')) if age<18: print('未成年') elif age<0 or age>150: print('不是

chaichaishufen的博客 174

2022-04 Task02交大ACM C++算法

c++算法初级 枚举 暴力枚举 可以通过加入数学计算、并且存储尽可能多的信息的方法,来降低时间复杂度。 fibonacci数列问题: #include<bits/stdc++.h> using namespace std; int main() { int a = 2,b = 3; int sum = 0; for(int i = 5;i <= 12; i++) { sum = a + b; a = b;

张一 1341

WIN 11 安装 Ubuntu 20.04 (双系统)(2022.02.28)

WIN 11 装 Ubuntu 20.04 (双系统) 操作环境: 硬件:联想R7000P,金士顿16G大小的U盘 软件:Windows11,Ubuntu 20.04 iso和Rufus

Ax的博客 6964

2022.04.08_数据结构—左程云02

左神YYDS

fuyuanduan的博客 1029

2022-04-02 关于获取k8s的etcd的crd策略的反思

摘要: 记录关于获取k8s的etcd的crd策略的反思 获取k8s的etcd的crd的方式: 一. 部署在和etcd相同的node上,通过hostpath拿到 二. 从pod内通过client-go从etcd的pod内将crd复制到本pod 方案抉择: 执行过程: 首先从直觉上觉得从pod里把etcd的crd复制出来是应该选择的 在做的时候, 发现遇到了重重阻力,主要是无法利用client-go复制出pod内的文件 搜了一堆资料, 找到了client-go-helper..

悟世之路 851

2022-04-15 Git学习笔记 02

Git学习笔记 02 Git安装与配置 Git安装 Git的各系统下的安装教程可以参考以下地址: https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git Git的其他内容也可以在上面的地址找到。 Git配置 https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%88%9D%E6%AC%A1%E8%BF%90%E8%A1%8C-Git-%E5%89%8D%E7%9

Chen_Yumin的博客 191

2022-04-02 ajax应用例子和封装一个自定义的Ajax类

1.自定义ajax请求方法 要求 代码 输入结果 2.为请求添加参数 思路 代码 结果 3.友好等待界面 思路 代码 结果 4.根据不同的http返回代码进行不同的响应 思路 代码 5.ajax传输JSON数据 思路 知识点:eval()函数 完整代码 结果 6.自定义一个ajax类 代码 结果

GAARA 277

【Rust日报】2022-04-02 Wasm Web 框架 Spin 发布​

Wasm Web 框架 Spin 发布我们很高兴宣布我们新的WebAssembly框架Spin。Spin是Fermyon平台的基础部件。这也是开始为云编写WebAssembly的好方法。什么是wasm框架?我们认为WebasseMbly主要作为编译目标。选择语言,编写代码,并将其编译为WASM。但是在webassembly中写的是什么类型的代码?运行webassembly...

Rust语言学习交流 1014
上一篇: 2022.03.26
下一篇: 2022.04.09
Array_new
博客等级 码龄5年 5粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Array_new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值