Liunx系统使用超详细(一)

目录

一、Liunx系统的认识

二、Liunx和Windows区别

三、Liunx命令提示符介绍

四、Liunx目录结构


一、Liunx系统的认识

 Linux系统是一种开源的、类Unix操作系统内核的实现,它基于Unix的设计原理和思想,并在全球范围内广泛应用。以下是对Linux系统的详细描述:

  • 开源性:Linux系统是开源软件,意味着其源代码可以被任何人免费获取、使用、修改和分发。这使得Linux系统具有高度的可定制性和灵活性,用户可以根据自己的需求进行定制和优化。
  • 多用户和多任务:Linux系统是一个多用户和多任务的操作系统,它允许多个用户同时访问系统,并可以同时运行多个程序和任务。每个用户都有自己的账户和权限,可以独立地进行工作。
  • 内核: Linux内核是操作系统的核心部分,负责管理硬件设备、内存和进程等。它提供了各种驱动程序来实现与不同硬件的交互。

  • 命令行界面: Linux提供了命令行界面(CLI),用户通过输入命令来与系统进行交互。这使得用户可以通过简单的文本命令完成各种任务,如文件管理、软件安装和配置等。

  • 图形界面: 虽然Linux最初是基于命令行的,但现代的Linux发行版大多都提供了图形界面(GUI),例如常见的桌面环境有GNOME、KDE、XFCE等。这些界面使得用户可以通过图形化的方式操作系统。

  • 文件系统:Linux系统使用层次化的文件系统布局,文件和目录被组织成一个树状结构。根目录(/)是整个文件系统的起点,包含了其他目录和文件。文件系统使用类Unix的文件权限模型,允许对文件和目录设置不同的权限。
  • Shell和命令行界面:Linux系统提供了强大的命令行界面,用户可以通过Shell与系统进行交互。Shell是一个命令解释器,负责解析和执行用户输入的命令。Linux系统支持多种Shell,如Bash、Zsh等,用户可以选择自己喜欢的Shell。
  • 网络功能:Linux系统具有强大的网络功能,可以作为服务器或网络设备进行配置和使用。它支持各种网络协议和服务,如TCP/IP、HTTP、FTP、SSH等。Linux系统还具备网络管理和安全性的功能,可以进行网络设置、防火墙配置等。它还可以作为路由器、防火墙或网关使用。
  • 软件包管理:Linux系统采用软件包管理系统来管理和安装软件。常见的软件包管理系统有dpkg和apt-get(Debian/Ubuntu)、RPM和yum(Red Hat/CentOS)等。这些工具可以方便地安装、更新和删除软件包,并解决依赖关系。
  • 支持多种硬件平台:Linux系统可以运行在各种硬件平台上,包括个人计算机(如x86、x86_64架构)、服务器(如PowerPC、ARM架构)和嵌入式设备。这使得Linux系统具备广泛的适应性和可移植性。
  • 安全性:Linux系统以安全性而闻名,其设计和实现注重安全性和稳定性。Linux系统提供许多安全功能,并配备了强大的权限管理、访问控制和防火墙等工具,用于保护系统和用户数据的安全。
  • 可定制性: Linux允许用户自由地定制和配置系统,以满足个人需求。用户可以选择适合自己的桌面环境、应用程序和内核版本等。

       Linux系统的广泛应用领域包括服务器、个人计算机、移动设备、嵌入式系统等。它被广泛用于各个领域,包括科学研究、商业应用、教育、云计算、物联网等。由于其开放性、稳定性和灵活性,Linux系统得到了全球开发者和用户的支持和推崇。

总之,Linux是一个强大、灵活和高度自定义的操作系统,适用于各种场景,从个人电脑到嵌入式设备、服务器和超级计算机。

二、Liunx和Windows区别

 Linux和Windows是两个不同的操作系统,它们具有许多区别。以下是Linux和Windows之间的一些主要区别:

  • 开源 vs 闭源:Linux是开源软件,其源代码可以被任何人免费获取、使用、修改和分发。而Windows是闭源的,仅由微软公司开发和维护,其源代码不公开,并且需要购买许可证才能使用。
  • 内核和架构:Linux使用Linux内核,而Windows使用Windows内核。Linux内核是基于Unix的设计原理和思想,而Windows内核是专门为Windows系统设计的。
  • 可定制性和灵活性:由于Linux的开源性,用户可以自由定制和修改Linux系统以满足自己的需求。而Windows则相对较少可定制和修改。
  • 用户界面:Linux提供了多种桌面环境选择,如GNOME、KDE、XFCE等,用户可以根据自己的喜好选择。Windows有自己的图形用户界面(GUI),用户通常使用Windows默认的桌面环境。
  • 文件系统:Linux使用类Unix的层次化文件系统布局,具有根目录(/)和各级子目录。Windows使用不同的文件系统,如NTFS、FAT32等。
  • 软件兼容性:由于Linux和Windows使用不同的内核和架构,它们的软件并不完全兼容。许多Windows软件和应用程序无法直接在Linux上运行,尽管有一些方法可以在Linux上运行Windows软件,如通过Wine等工具。
  • 软件包管理:Linux系统使用软件包管理系统来管理和安装软件,如dpkg和apt-get(Debian/Ubuntu)、RPM和yum(Red Hat/CentOS)。而Windows使用独立的安装程序和软件包管理器。
  • 安全性:由于Linux的开源性和Unix设计的安全原则,Linux系统在安全性方面通常被认为比Windows更强大和安全。Linux采用了更严格的权限管理和访问控制机制。
  • 使用领域:Linux在服务器领域和科学研究中广泛使用,而Windows在桌面计算机和商业应用中占有主导地位。Linux也用于嵌入式系统、移动设备、云计算等领域。

总结:

Linux更加灵活、可定制和安全,适合技术专业人士和开发者。

Windows在易用性、软件兼容性和驱动程序支持方面更为强大,适合普通用户和商业应用。

建议:

根据个人需求和偏好,不同的用户可以选择适合自己的操作系统。

三、Liunx命令提示符介绍

      Linux命令提示符是在终端中显示的特殊字符序列,表示用户可以输入命令的位置。它通常包含了当前登录用户、主机名、当前工作目录和一些特殊字符
一般情况下,Linux命令提示符的格式为:

[user@hostname current_directory]$

其中,各部分的含义如下:

  • user: 当前登录用户的用户名。
  • hostname: 主机名,表示当前所在的计算机。
  • current_directory: 当前工作目录,表示用户当前所在的目录。
  • $: 命令提示符的结束符,表示用户可以输入命令了。
  1. 默认情况下,Linux命令提示符以"$"符号作为前缀,并以空格分隔命令提示符和用户输入内容。
  2. 在某些发行版中,超级用户(root)会有不同的提示符,以提醒用户当前处于特权模式。超级用户的提示符通常以"#"符号作为前缀。

在提示符后面,用户可以输入各种命令和参数来与系统进行交互。当用户输入命令后,按下回车键,系统将执行该命令并输出相关结果。 

例如,如果当前登录用户是"johndoe",主机名是"mycomputer",当前工作目录是"/home/johndoe",那么命令提示符将显示为:

johndoe@mycomputer:/home/johndoe$

【例如】[root@Centos01 ~]这个命令提示符的示例:

它就显示了当前登录用户为root,主机名为Centos01,当前所在目录为用户的主目录~(也就是/root)。

  • root: 表示当前登录用户为超级用户或管理员。在Linux系统中,root是具有最高权限的用户。
  • Centos01: 表示当前主机的名称。这是一个示例主机名,实际的主机名可能会有所不同。
  • ~: 表示当前所在目录。~是一个特殊的符号,代表当前用户的主目录。在这个示例中,~指的是/root目录,因为当前用户是root用户。

该命令提示符表示我当前以root用户身份登录到Centos01主机,并位于/root目录下。我可以在该命令提示符下输入各种命令来与系统进行交互和执行操作。 

       除了默认的提示符外,用户还可以根据自己的喜好和需求进行自定义。Linux命令提示符的外观和格式可以通过修改shell的配置文件来自定义。常见的shell包括Bash(默认shell)、Zsh、Fish等,它们都有不同的配置文件来设置命令提示符。

      在大多数情况下,命令提示符以普通用户身份显示为"$"符号,以超级用户(root)身份显示为"#"符号。这是为了提醒用户当前所处的权限级别,以避免意外的系统修改或执行敏感命令。
Linux命令提示符的形式和其显示内容可以根据用户的需求和偏好进行自定义。我们可以通过修改相关的shell配置文件,如.bashrc或.zshrc,在其中设置自定义的命令提示符格式和样式,设置颜色、添加日期时间戳等来改变提示符的外观和功能。

例如我现在设置命令提示符的格式和样式,要求设置为蓝色,并且添加日期时间戳,那么就需要编辑终端配置文件(通常是.bashrc.zshrc),操作步骤如下:

Ⅰ、使用nano编辑器

  1. 打开终端并登录到你的Linux系统。

  2. 使用文本编辑器(如vi、nano等)打开终端配置文件。

    nano ~/.bashrc
    
  3. 在打开的文件中,找到类似于以下内容的行:

    PS1="\\s-\\v\\\$ "
    

    假如没有就直接在文本中插入4命令;

  4. 修改PS1变量的值来实现自定义。例如,将其修改为带有颜色和日期时间戳的提示符:

    PS1="\[\e[32m\][\@] \u@\h \W \$ \[\e[m\]"
    

    这个示例将添加绿色的日期时间戳,并在用户名、主机名和当前工作目录之间显示。

  5. 保存文件并关闭编辑器。

  6. 使更改生效,可以重新启动终端或者运行以下命令来立即应用更改:

    source ~/.bashrc
    

    完成上述步骤后,你应该看到终端的命令提示符已根据你的自定义进行了修改。每个用户可以在其自己的主目录下编辑相应的终端配置文件,以实现个性化的提示符设置。

Ⅱ、使用vi编辑器

  1. 打开终端并登录到你的Linux系统。

  2. 使用vi编辑器打开终端配置文件。在这里,我将使用.bashrc作为示例:

    vi ~/.bashrc
    
  3. 在打开的文件中,使用键盘的方向键或h/j/k/l键浏览到要编辑的行。

  4. 按下i键进入插入模式(Insert Mode),以便可以进行编辑。

  5. 修改提示符的值来实现自定义。例如,添加颜色和日期时间戳的提示符:

    PS1="\[\e[32m\][\@] \u@\h \W \$ \[\e[m\]"
    

    \[\e[32m\]表示绿色,\[\e[34m\]表示蓝色

  6. 按下Esc键退出插入模式。

  7. 输入:wq以保存文件并退出vi编辑器。

  8. 使更改生效,可以重新启动终端或者运行以下命令来立即应用更改:

    source ~/.bashrc
    

    完成上述步骤后,我们就看到终端的命令提示符已根据刚才的自定义进行了修改。

注意:

在使用vi编辑器时,要切换到插入模式才能进行编辑,然后按下Esc键退出插入模式,并保存文件后退出vi编辑器。 

最终修改后的效果图:

      假如你不需要这种设置,可以使用文本编辑器(如vi、nano等)打开终端配置文件(通常是.bashrc.zshrc),删除这行或注释掉该行。如果要删除这行,请将其完全删除;如果要注释掉该行,请在行首添加井号(#)以注释掉它。然后保存文件并关闭编辑器,最后可以重新启动终端或者运行以下命令来立即应用更改。完成上述步骤后,你的命令提示符将恢复默认的外观,不再具有设置的颜色和日期时间戳。

提示:

在修改终端配置文件之前,最好备份原始文件以防止意外情况发生。我就在这里是误操作啦!

以上内容总结:

Linux命令提示符是位于终端窗口上的特殊符号,表示用户可以输入命令的位置。它提供了与Linux系统进行交互的接口,并提供各种有用的信息,如当前用户、主机名和工作目录等。

四、Liunx目录结构

登录系统后,在当前命令窗口下输入命令:

ls /

执行后你会看到如下内容:

     在Linux的目录结构中,没有盘符的概念,有的只是一个根目录 / ,在根目录下存放的就是一些具体的文件,在Linux中,会把一些硬件设备给抽象成文件的形式存放在硬盘上,于是在Linux系统中有这样的一句话,一切皆文件。 

Liunx的树状目录结构如下:

Linux的目录结构是一种层次化的文件系统布局,类似于Unix目录结构。以下是Linux目录结构的主要描述:

  • 根目录(/):Linux目录结构的最顶层是根目录,表示整个文件系统的起点。
  • /bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。包含可执行的二进制命令,它们是系统启动和维护所必需的。
  • /boot:包含启动Linux系统所需的文件,包括内核和引导加载程序。这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev:dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。包含设备文件,用于与系统硬件设备进行交互。
  • /etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。包含系统的配置文件和目录,例如网络配置、用户配置、服务配置等。
  • /home:用户的主目录,每个用户都有一个以其用户名命名的目录,一般该目录名是以用户的账号命名的,如树状图中的 alice、bob 和 eve。
  • /lib和/lib64:包含共享库文件,这些文件提供给程序在运行时使用的函数和资源。lib 是 Library(库) 的缩写,这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
  • /media:用于挂载可移动介质(如CD、DVD、USB驱动器)的挂载点。linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
  • /mnt:用于暂时挂载其他文件系统的挂载点。系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:用于安装可选软件的目录。通常,第三方软件和其他可选软件包被安装在/opt目录下。opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc:虚拟文件系统,包含系统和进程的信息。可以通过读取和写入/proc目录中的文件来访问和操作系统和进程的信息。proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过该命令来屏蔽主机的ping命令,使别人无法ping你的机器:

  • /root:超级用户(root)的主目录。该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:包含系统管理员使用的系统命令,这些命令通常需要root权限来执行。s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
  • /tmp:用于存储临时文件和临时数据。这个目录中的文件在系统重新启动时通常会被清除。tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
  • /usr:包含用户安装的应用程序、库和文档等。它具有类似于根目录的层次结构,包括/bin、/lib、/include、/share等子目录。usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
  • /usr/bin系统用户使用的应用程序。

  • /usr/sbin超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src内核源代码默认的放置目录。

  • /var:包含经常变化的数据,例如日志文件、缓存文件、邮件等。var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

      这些是Linux目录结构中的一些重要目录。它们的层次结构使得文件系统易于管理和导航,并且提供了一种组织文件和目录的有效方式。每个目录都有其特定的用途和功能。通过路径,用户和程序可以准确定位和访问文件和目录。

     本篇内容主要是对LIUNX系统的熟悉,对整个结构框架,各种文件路径介绍,方便更好的掌握,后面的文章将细致总结LIUNX系统操作命令的详细使用方法,敬请期待!!!

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

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

相关文章

MVCC多版本并发控制相关面试题整理

多版本并发控制是一种用于支持并发事务的数据库管理系统技术,它允许多个事务同时访问数据库,而不会相互干扰或导致数据不一致。MVCC通过在数据库中维护不同版本的数据来实现这一目标,从而允许每个事务看到一致的数据库快照。 并发导致的问题…

【数据结构】树与二叉树(廿二):树和森林的遍历——后根遍历(递归算法PostOrder、非递归算法NPO)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语 5.2 二叉树5.3 树5.3.1 树的存储结构1. 理论基础2. 典型实例3. Father链接结构4. 儿子链表链接结构5. 左儿子右兄弟链接结构 5.3.2 获取结点的算法5.3.3 树和森林的遍历1. 先根遍历(递归、非…

qt5.15.2及6.0以上版本安装

文章目录 下载在线安装器安装打开软件 下载在线安装器 因为从qt5.15开始不支持离线下载安装了,只能通过在线安装的方式进行安装。 下载在线安装下载器: 这个在线安装下载器网上也都是可以找到。 这里是其放到网盘上的下载地址: 链接&#x…

DL Homework 8

目录 习题5-2 证明宽卷积具有交换性, 即公式(5.13). 习题5-4 对于一个输入为100 100 256的特征映射组, 使用3 3的卷积核, 输出为100 100 256的特征映射组的卷积层, 求其时间和空间复杂度. 如果引入一…

Openwrt linux 启动流程

OpenWRT 启动流程 内核启动过程:【/init/mian.c】 Uboot --> start_kernel() --> rest_init() --> kernel_thread(kernel_init) --> kernel_init_freeable() 初始化过程: Linux Kernel(kernel_init) --> /etc/preinit --> /sbin/in…

2023 年最新百度智能云千帆大模型 Node.Js 本地测试 / 微信机器人详细教程

千帆大模型概述 一站式企业级大模型平台,提供先进的生成式AI生产及应用全流程开发工具链。直接调用ERNIE-Bot 4.0及其他主流大模型,并提供可视化开发工具链,支持数据闭环管理、专属大模型定制、大模型训练调优、插件编排等功能。 千帆大模型…

Python基础:字符串详解(需补充完善)

1. 字符串定义 在Python中,字符串是一种数据类型,用于表示文本数据。字符串是由字符组成的序列,可以包含字母、数字、符号和空格等字符。在Python中,你可以使用单引号()或双引号("&#x…

阅读笔记——《Removing RLHF Protections in GPT-4 via Fine-Tuning》

【参考文献】Zhan Q, Fang R, Bindu R, et al. Removing RLHF Protections in GPT-4 via Fine-Tuning[J]. arXiv preprint arXiv:2311.05553, 2023.【注】本文仅为作者个人学习笔记,如有冒犯,请联系作者删除。 目录 摘要 一、介绍 二、背景 三、方法…

输出后,我悟了!

大家好,我是木川 今天和前同事吃饭聊天,谈到了输出,今天简单谈下关于输出的重要性 一、为什么要输出 1、不输出容易忘,如果不输出很容易就忘记了,如果再遇见一次,还是需要重新学习,实际上是浪费…

有关HarmonyOS-ArkTS的Http通信请求

一、Http简介 HTTP(Hypertext Transfer Protocol)是一种用于在Web应用程序之间进行通信的协议,通过运输层的TCP协议建立连接、传输数据。Http通信数据以报文的形式进行传输。Http的一次事务包括一个请求和一个响应。 Http通信是基于客户端-服…

【Linux学习笔记】protobuf 基本数据编码

https://zhuanlan.zhihu.com/p/557457644https://zhuanlan.zhihu.com/p/557457644 [新文导读] 从Base64到Protobuf,详解Protobuf的数据编码原理本篇将从Base64再到Base128编码,带你一起从底层来理解Protobuf的数据编码原理。本文结构总体与 Protobuf 官…

软件学院PTA天梯赛初赛选拔赛题解

目录 7-2 生肖确定(模拟) AC代码: 7-3 韩信点兵(模拟) AC代码: 7-4 程序员买包子(模拟) AC代码: 7-5 h0078. 蛇形矩阵变形 AC代码: 7-6 军事体能成绩…

23.11.26日总结

图片与文字顶部对齐&#xff1a; <div class"addDishImgBox"><span class"addDishImgZi">商品图片&#xff1a;</span><img :src"myStorePhoto" class"addDishImg"> </div> .addDishImgBox{display: f…

8.前端--CSS-文本属性【2023.11.26】

CSS Text&#xff08;文本&#xff09;属性可定义文本的外观&#xff0c;比如文本的颜色、对齐文本、修饰文本、文本缩进、行间距等 1.文本颜色 color 属性用于定义文本的颜色。 语法&#xff1a; div { color: red; }属性&#xff1a; 2.文本对齐 text-align 属性用于设置元…

学生党福音!一个能自定义词库的单词软件--单词魔方

大家好 我是Yhen 这一期给大家介绍一款自制的单词软件–单词魔方 文章目录 一.创作缘由二.功能介绍&升级内容三.使用方法四.程序获取 一.创作缘由 为什么会有想法开发这个单词软件呢&#xff1f; 因为平时自己在做阅读&#xff0c;看电影时积累下来了一些单词 当我想要系…

【Linux】Linux项目自动化构建工具 --- make / makefile

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和Linux还有算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 …

Node.js下载安装及配置镜像源

一、进入官网地址下载安装包 https://nodejs.org/dist 选择对应你系统的Node.js版本 这里我选择的是Windows系统、64位 二、安装程序 &#xff08;1&#xff09;下载完成后&#xff0c;双击安装包&#xff0c;开始安装Node.js (2)直接点【Next】按钮&#xff0c;此处可根据…

jmeter 接口测试快速入门 以飞致云平台为例

飞致云电商API地址系统来自飞致云项目。接口API地址&#xff1a;https://gz.fit2cloud.com/swagger-ui.html 飞致云电商系统接口文档 V1.0&#xff1a;见 有道云笔记 该网站可以做接口测试练习。快速了解如何测试接口&#xff0c;如何做关联 系统基地址&#xff1a;https://g…

树套树 (线段树+splay)

树套树&#xff0c;就是线段树、平衡树、树状数组等数据结构的嵌套。 最简单的是线段树套set&#xff0c;可以解决一些比较简单的问题&#xff0c;而且代码根线段树是一样的只是一些细节不太一样。 本题中用的是线段树套splay&#xff0c;代码较长。 树套树中的splay和单一的…

【数据结构】堆(C语言)

今天我们来学习堆&#xff0c;它也是二叉树的一种&#xff08;我滴神树&#xff01;&#xff09; 目录 堆的介绍&#xff1a;堆的代码实现&#xff1a;堆的结构体创建&#xff1a;堆的初始化&#xff1a;堆的销毁&#xff1a;堆的push&#xff1a;堆的pop&#xff1a;判空 &am…