Qt背景与环境搭建

目录

​编辑

一、Qt背景

1.行业岗位介绍

2.什么是Qt

3.Qt的发展史

4.Qt支持的平台

5.Qt的版本和优点

5.1 版本

5.2 优点

6.Qt的应用场景

7.Qt 的成功案例

8.Qt 发展前景

二、环境搭建

1.Qt 的开发工具概述

2.Qt SDK 的下载和安装

2.1 Qt SDK 的下载

​编辑

2.2 Qt SDK 的安装

3.验证 Qt SDK 安装是否成功

4.Qt 环境变量配置

5.Qt SDK 中的重要工具

1. Assistant 5.14.2(MinGW 7.3.0 64-bit)

2.Designer 5.14.2(MinGW 7.3.0 64-bit)

3.Linguist 5.14.2(MinGW 7.3.0 64-bit)

4.Qt Creator 4.11.1(Community)


一、Qt背景

1.行业岗位介绍

互联网的核心岗位大致可以划分为以下几种:

  1. 开发(程序猿最关注)
  2. 测试
  3. 运维(管理机器)
  4. 产品经理(非技术岗,提出需求)

而在开发岗位中可以划分出以下岗位:

  1. 后端开发
  2. 前端开发
  3. 算法工程师
  4. 测试开发
  5. ......

这其中,前端开发又分三种:

  • 网页前端开发(做网页的)
  • 桌面应用开发(做电脑上的应用程序的)
  • 移动应用开发(做手机上的应用程序的)

        而我们今天要介绍的 Qt 这门技术,就是用于进行 “客户端开发” ,准确来说,Qt 特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术。Qt 无法开发网页前端,也不能开发移动应用。

        客户端开发的主要任务是编写和用户交互的界面,这种界面有两种典型风格:

  1. 命令行界面/终端界面(TUI):专业软件(给程序猿用的)
  2. 图形化界面(GUI):给普通用户使用的

Qt 就是用来编写桌面的GUI程序的一套框架~

PS:

  • 客户端:直接和用户打交道的这一端的程序,比如:chrome、QQ音乐、steam等......
  • 服务器:站在客户端背后的男人~
  • 虽然大部分的客户端程序,是需要有背后的服务器做支撑的。但是确实也有些程序是不需要服务器的,这样的程序(比如:画图板、计算器...)同样也是直接和客户打交道,也可以称为 “客户端程序”。

2.什么是Qt

        Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用 C++ 语言进行高级开发。

        图形用户界面 :指采用图形方式显示的计算机操作用户界面,是计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。如下分别是:Android 手机图形用户界面 和 IOS 手机图形用户界面。

Android 手机图形用户界面

 

IOS 手机图形用户界面 

3.Qt的发展史

  • 1991 年 Qt 最早由奇趣科技开发;
  • 1996 年 进入商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础;
  • 2008 年 奇趣科技被诺基亚公司收购,Qt 成为诺基亚旗下的编程工具;
  • 2012 年 Qt 又被 Digia 公司收购;
  • 2014 年 4 月 跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 月 20 日发布了 Qt 5.3 正式版,至此 Qt 实现了对 IOS、Android、Embedded 等各平台的全面支持。

        1991年,可以说是非常神奇的一年,在这一年,计算机界诞生了很多神奇的东西,比如:Qt、Python、OpenGL、Linux......

        这其中,有个公司特别出名,那就是诺基亚,诺基亚手机在那个年代应该是家喻户晓,传说它可以砸核桃、挡子弹~。而它当时所用的系统为 塞班系统(应该是最早的智能手机系统了),诺基亚就主推 Qt 来作为开发塞班系统应用程序的解决方案。

        2007年,乔布斯发布了第一代苹果手机,标志着移动互联网时代的开启,2012年左右,IPhone4成为一代经典,小米和华为也进入了智能手机市场,安卓系统开始大规模崛起~,此时,诺基亚被逼无奈,开始了最后的反扑,和微软强强联合,推出了一代新的智能手机,史称 windows phone 撸没系列,果然,发布没多久就把自己给撸没了~~

        诺基亚噶了之后,Qt 又卖给了另一个公司 迪迦(Digia),至于这个公司是不是研究奥特曼的,咋也不知道,反正网上关于这个公司的消息非常少。

4.Qt支持的平台

1、windows(各个版本):Windows ‒ XP、Vista、Win7、Win8、Win2008、Win10

2、Linux(各种发行版,尤其是 Linux 中的 KDE 桌面是基于Qt 构建的):Unix/X11 ‒ Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多 X11 平台

  • Linux 主要是给服务器使用,服务器不需要图形界面。
  • TUI:基于命令操作,门槛更高,效率也更高。
  • GUI:基于图形化操作,门槛低,效率也低。
  • Linux 种,也存在好几套桌面环境:1.GONME(基于 GTK 构建的)2.KDE(基于 Qt 构建的)

3、Max系统:Macintosh ‒ Mac OS X

4、嵌入式系统:Embedded ‒ 有帧缓冲支持的嵌入式 Linux 平台,Windows CE

  • 嵌入式系统也是 Qt 实际开发中的一个主战场,我们日常使用的冰箱、洗衣机、路由器、投影仪...这些设备内部也有计算机,但它们里边的计算机硬件配置就不需要很高了(低配置、低成本)。
  • 当然,有些嵌入式系统也是需要运行图形化界面的程序的,这个时候, Qt 就可以起到作用了,尤其是在一些工业设备上,当然,在这个领域,Qt 也受到了安卓的挑战。

5、Android

5.Qt的版本和优点

5.1 版本

        目前最新的版本是 Qt 6, 但是相对来说 Qt 6 和 Qt 5 之间的核心功能区别不大,并且企业中也仍然有大量的项目在使用 Qt 5。
        在软件开发中,并非是越新就越好,相比之下,引入新的特性,不如先确保不引入严重的问题~

另外 Qt 在发布的时候还提供了两种许可证:

  1. 商业许可(花钱): 开发者以商业目的使用Qt框架进行开发和发布软件的许可,开发者需要购买商业许可并按照相关规定使用Qt框架。商业许可提供了更多的功能和服务(主要买的是技术支持),适合于商业软件开发。
  2. 开源许可(不用花钱,直接白嫖): 开发者以非商业目的使用Qt框架进行开发和发布软件的许可,开发者可以免费使用Qt框架,但需要遵守开源许可协议的要求,如在软件中包含Qt许可协议的声明等。

5.2 优点

  • 跨平台,几乎支持所有的平台;
  • 接口简单,容易上手,学习 QT 框架对学习其他框架有参考意义。
  • 一定程度上简化了内存回收机制;
  • 开发效率高,能够快速的构建应用程序。
  • 有很好的社区氛围,市场份额在缓慢上升。
  • 可以进行嵌入式开发。

6.Qt的应用场景

  • 桌面应用程序

Qt 能够创建各种类型的桌面应用程序,包括文件管理器、媒体播放器、绘图程序等。Qt 应用程序支持多种操作系统,可以运行在 Windows、Linux、macOS 等桌面操作系统上。

  • 移动应用程序

Qt 支持 Android 和 IOS 移动操作系统,为应用程序提供了强大跨平台能力。可以使用 Qt 构建各种移动应用程序,例如社交应用、游戏、娱乐等。

  • 嵌入式系统

Qt 在嵌入式领域应用非常广泛,它可以构建面向各种设备的图形应用程序,在机顶盒、车载娱乐系统、安防监控设备等领域具有广泛的应用。

7.Qt 的成功案例

Linux 桌面环境 KDE


 

WPS Office 办公软件


 

Google Earth ⾕歌地图


 

8.Qt 发展前景

        Qt 是⼀个强大且广泛应用于跨平台软件开发的框架。它提供了丰富的工具和库,可用于开发高质量、高效率的图形用户界面(GUI)应用程序。并且可以在 Windows、linux、macOS 等多种操作系统上运行。随着行业的发展,Qt的重要性也逐渐体现出来:

  • 物联网(IoT)和嵌入式系统的发展:

        在当下的嵌入式和物联网行业中,Qt 的作用逐渐得到了体现,因为可以用它来开发具有 GUI 界面的嵌入式应用程序,这对于智能家居、汽车以及医疗设备等领域来说,具有非常重要的作用。

  • 自动驾驶和智能交通领域:

        现在很多的汽车都引入了自动驾驶的技术,而 Qt 在其中也有着广泛的应用,它可以开发车载嵌入式系统和用户界面程序。随着未来自动驾驶技术的发展,Qt 在这方面的需求也会不断地增多。

  • 游戏开发:

        Qt 有一些非常重要的功能模块,例如 Qt 3D Studio,可以应用于游戏开发。未来游戏行业的持续发展,Qt在游戏行业的发展将会越来越多。

二、环境搭建

1.Qt 的开发工具概述

Qt 开发环境,需要安装3个部分(说是安装3个部分,其实只需要安装一个 Qt SDK,另外两个也就都有了):

🌴C++ 编译器(gcc、cl.exe...... 不是Visual Studio)

  • 注意:编译器 != IDE,编译器只是 IDE 调用的一个程序。

🌴Qt SDK

  • SDK 即软件开发工具包。比如,windows 版本 Qt SDK 里边已经内置了 C++ 的编译器(内置编译器是 mingw,windows 版本的 gcc/g++)。

🌴Qt 的集成开发环境(IDE)

1.Qt 官方提供的 Qt Creator

        Qt Creator 是一个轻量级的跨平台集成开发环境(IDE),专为使用 Qt 框架进行应用程序开发而设计。它是一个功能强大、易于使用、快速且高效的工具,被广泛用于编写各种类型的应用程序,如桌面应用程序、移动应用程序和嵌入式系统等。

        Qt Creator 提供了一个可视化的界面设计器和代码编辑器,可以帮助开发者更快捷地创建复杂的用户界面和处理各种事件。它还包含了调试工具、版本控制工具、自动完成和智能提示等功能,以及支持多语言和跨平台的开发环境。

       总而言之,Qt Creator 是一个功能齐全、易于使用且高效的跨平台 IDE,适用于各种类型的应用程序开发,特别是那些使用 Qt 框架的开发者。

Qt Creator 的主要特点包括:

  • 紧密集成的 Qt 框架:Qt Creator 专门为 Qt 开发而设计,因此它与 Qt 框架集成得非常紧密,使开发者可以更容易地管理和部署他们的应用程序。
  • 强大的编辑器:Qt Creator 具有一些先进的编辑器功能,如语法高亮、代码折叠、智能提示、自动完成和代码重构。
  • 集成的调试器:Qt Creator 内置了调试器,允许开发人员在代码中设置断点以及检查变量、堆栈和调用树等信息。
  • 高效的构建系统:Qt Creator 提供了一个高效的构建系统,可以自动构建和部署应用程序,同时支持使用不同的编译器和平台。
  • 可视化界面设计器:Qt Creator 具有一个可视化界面设计器,它允许开发人员在没有编写代码的情况下创建复杂的用户界面。
  • 多语言支持:Qt Creator 支持多种编程语言,包括 C++、QML、JavaScript 等。

2.Visual Studio

         Visual Studio 是由微软公司开发的集成开发环境(IDE)。它可以用来开发多种类型的应用程序。包括Windows 桌面应用程序、Web应用程序、移动应用程序、游戏等。Visual Studio 提供了丰富的开发工具和功能,包括代码编辑器、调试器、自动完成、代码重构、版本控制等等。它支持多种编程语言,如:C++、C#、Visual Basic、F#、Python等。Visual Studio 还可以与其他开发工具和服务集成,如 Azure 云服务、GitHub、Jenkins等。

        功能更强,但是需要额外的配置更多,更容易出错。有些公司开发商业 Qt 程序的时候,可能会使用 VS,需要给 VS 安装 Qt 插件,并且需要把 Qt SDK 使用 VS 的编译器重新编译(现在会方便一些,有预编译好的版本)。

Visual Studio 具有以下⼀些主要特点:

  • 多语言支持:Visual Studio 支持多种编程语言,包括 C++、C#、Visual Basic、F#、Python、JavaScript 等;
  • 丰富的工具集:VS 提供了各种开发工具,包括代码编辑器、调试器、代码分析工具等,以提高开发人员的效率;
  • 可视化设计:VS提供了可视化的设计工具,如窗体设计器、WPF 设计器等,使开发人员可以直观地设计用户界面;
  • 跨平台开发:VS 支持跨平台开发,可以开发适用于 Windows、Linux 和 macOS 等多个平台的应用程序;
  • 集成的调试器:VS 集成了强大的调试器,可以进行代码的单步调试、断点调试等操作来帮助开发人员查找和修复错误;
  • 丰富的扩展性:VS 可以通过安装扩展来扩展其功能,开发人员可以根据自己的需求选择并安装适合的扩展。

3.Eclipse

        Eclipse 是著名的跨平台的自由集成开发环境(IDE)。最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C++ 和 Python 的开发⼯具。Eclipse 的本身只是⼀个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE。Qt 框架可以与 Eclipse 集成,使开发者可以使用 Eclipse 的强大功能来开发 Qt 应用程序。

        Eclipse 并非只是 Java IDE,本身是一个 IDE 平台,可以搭配不同的插件构成不同的 IDE,目前 Eclipse 市场份额受到的冲击很大。重量级工具有 JetBrains;轻量级工具有 VSCode。

2.Qt SDK 的下载和安装

2.1 Qt SDK 的下载

🌻Qt 下载官网:https://download.qt.io/archive/qt/

🌻国内清华源:https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/

进入官网,按照下图所示进行相应的系统版本下载即可。

1、打开官网链接,进入如下图示界面;

2、选择需要下载的版本(以5.14版本为例,所选具体版本为:5.14.2);

3、选择需要下载的版本;

4、选择Windows桌面应用程序;

2.2 Qt SDK 的安装

安装软件的时候,所在的目录,不要带中文,不要带特殊符号,也不要带空格!!!

安装软件的时候,所在的目录,不要带中文,不要带特殊符号,也不要带空格!!!

安装软件的时候,所在的目录,不要带中文,不要带特殊符号,也不要带空格!!!

1、找到下载的文件并双击;

注意:在双击之前先断网,否则需要我们注册 Qt 账号登录后才能进入下一步安装;

2、双击之后进入如下界面:


 

3、选择安装路径时不能出现中文路径,否则即使安装上也无法使用;


 

4、选择安装组件;这里我们安装的是 Qt Creator。如果电脑磁盘空间允许,建议全选以便后续使用,如果空间不允许,请看第5步;


 

5、选择部分组件;说明:其他未安装的组件在使用时可以另行添加;


 

6、同意安装协议;


 

7、下⼀步;


 

8、点击 "安装" 进入安装界面;


 

9、安装界面如下:


 

10、点击 "完成" 按钮完成安装;

3.验证 Qt SDK 安装是否成功

3.1、双击打开 Qt Creator 工具,并进入到 "欢迎模式" 下的 "示例" 界面;


 

3.2、在 "示例" 中任选其中一个,单击打开该示例。在单击之后会弹出⼀个窗口,关闭即可;


 

  

如果能构建并运行,说明安装无误。运行结果如下图:

4.Qt 环境变量配置

为啥要配置这个环境变量?

  1. 让操作系统/Qt Creator 工具,能够找到 Qt SDK 中提供的 exe。
  2. 为了运行 Qt 程序的时候,能够找到对应的 .dll 动态库。

        环境变量,也可以理解成一种简单的 “进程间通信” 机制。它是在操作系统中⼀个具有特定名字的对象,包含了一个或者多个应用程序将要使用到的信息。

        例如Windows 和 DOS 操作系统中的 path 环境变量,当要求系统运行⼀个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到 path 中指定的路径去找。

        在 Windows 上设置 Qt 的环境变量是为了能够在命令行或其他应用程序中直接访问 Qt 相关的命令和工具。

4.1、找到Qt的安装路径,复制 "bin" 路径;


 

4.2、"此电脑" ------> 鼠标右键, "属性" ------> "高级系统设置" ------> "环境变量";


 

4.3、"新建" ------> 填入 "bin" 路径 ------> "确定" ;


 

4.4、注意:在关掉所有窗口时,一定要点击 "确定" ,否则上述配置无效。

5.Qt SDK 中的重要工具

5.1 Assistant 5.14.2(MinGW 7.3.0 64-bit)

  • Qt自带的离线版本的官方文档。

5.2 Designer 5.14.2(MinGW 7.3.0 64-bit)

  • Qt 设计师,图形化的设计界面的工具。
  • 通过拖拽控件的方式来快速生成界面,搭配 Qt Creator 来使用。

5.3 Linguist 5.14.2(MinGW 7.3.0 64-bit)

  • Qt 语言家,作用是对国际化进行支持。
  • 它允许你单独创建一个语言配置文件,把界面上需要用到的各种文字,都配置到文件中,并且在文件中提前的把各种语言的翻译都配置进去,就可以起到 “一键式切换语言” 的效果。

5.4 Qt Creator 4.11.1(Community)

  • Qt 的集成开发工具(学习 Qt 过程中主要使用的工具)。

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

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

相关文章

AI软件测试|人工智能测试中对抗样本生成攻略

从医疗诊断、自动驾驶到智能家居,人工智能技术为各个行业领域带来无限可能的同时,挑战也日益显现。特别是在人工智能安全领域,随着恶意攻击和数据欺骗的不断演变,确保AI系统的安全性和可靠性成为亟需解决的重要问题,对…

构建现代化农业产业服务平台的系统架构

随着全球农业产业的发展和技术的进步,农业生产管理面临着越来越复杂的挑战和机遇。建立一个现代化的农业产业服务平台系统架构,不仅能够提高农业生产效率和管理水平,还能促进农民收入增长和可持续发展。本文将探讨如何设计和实施这样一个系统…

【计算机网络】期末实验答辩

注意事项: 1)每位同学要在下面做过的实验列表中选取三个实验进行答辩准备,并将自己的姓名,学号以及三个实验序号填入共享文档"1(2)班答辩名单"中。 2)在答辩当日每位同学由老师在表…

C# 使用pythonnet 迁入 python 初始化错误解决办法

pythonnet 从 3.0 版本开始,必须设置Runtime.PythonDLL属性或环境变量 例如: string pathToVirtualEnv ".\\envs\\pythonnetTest"; Runtime.PythonDLL Path.Combine(pathToVirtualEnv, "python39.dll"); PythonEngine.PythonHom…

vue路由跳转时改变路由参数组件不渲染问题【已解决】

效果展示 解决 router路由为了组件复用,防止组件的频繁销毁与创建,在遇到跳转的路由不一致才会进行重新渲染,路径参数变了他是不会管的,只会改变this.$route对象而已 就这个东西/:xxx 我们可以写一个watch监视this.$route对象。…

SQL语句(以MySQL为例)——单表、多表查询

笛卡尔积(或交叉连接): 笛卡尔乘积是一个数学运算。假设我有两个集合 X 和 Y,那么 X 和 Y 的笛卡尔积就是 X 和 Y 的所有可能组合,也就是第一个对象来自于 X,第二个对象来自于 Y 的所有可能。组合的个数即为两个集合中…

python爬虫-事件触发机制

今天想爬取一些政策,从政策服务 (smejs.cn) 这个网址爬取,html源码找不到链接地址,通过浏览器的开发者工具,点击以下红框 分析预览可知想要的链接地址的id有了,进行地址拼接就行 点击标头可以看到请求后端服务器的api地…

GraphHopper路径规划导航(Android源码调试运行)

本文主要记录在运行graphhopper安卓版路径规划导航源码的步骤和遇到的问题。 成功运行了程序,但是路劲规划一直不成功,问题一开始是服务地址,后来又是key的问题,在这个项目中涉及到了graphhopper、mapbox、mapilion的key&#xff…

html+css+js 实现马赛克背景按钮

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 文…

前端练习<HtmlCSS>——照片墙(附完整代码及实现效果)

这个小练习也来源于b站up小K师兄,大家可以通过下面的链接学习哦~up讲的非常详细。 纯CSS写一个简单酷炫的照片墙效果~ 先看一下这个照片墙的效果: 1.鼠标没有放到图片上时,照片同比例,每张照片都有倒影的效果。 2.然…

生成式AI和LLM的革命:Transformer架构

近年来,随着一篇名为“Attention is All You Need”论文的出现,自然语言处理(NLP)领域经历了一场巨大的变革。2017年,在谷歌和多伦多大学发表了这篇论文后,Transformer架构出现了。这一架构不仅显著提升了N…

【BUG】已解决:ERROR: Failed building wheel for jupyter-nbextensions-configurator

ERROR: Failed building wheel for jupyter-nbextensions-configurator 目录 ERROR: Failed building wheel for jupyter-nbextensions-configurator 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我…

第 3 章 数据和 C

目录 3.1 示例程序 3.1.1 程序中的新元素 3.2 变量与常量数据 3.3 数据: 数据类型关键字 3.3.1 整数和浮点数 3.3.2 整数 3.3.3 浮点数 3.4 C 语言基本数据类型 3.4.1 int 类型 1. 声明 int 变量 2. 初始化变量 3. int 类型常量 4. 打印 int 值 5. 八进制和十六进…

Linux I2C驱动程序

Linux I2C驱动 前言 主要目的记录一下我在野火的i.MX6ULL mini开发板上面编写了一个Linux I2C设备驱动去驱动SSD1306 OLED屏幕的开发过程。源码用的是野火提供的内核源码。 SSD1306 OLED和I2C接口 这块OLED屏幕大家应该都比较熟悉了,小巧迷你,DIY很好…

习题2.24

没啥好说, 先看解释器给出的结果 说起来也简单,这是一个多层的列表,第一个元素是1 第二个元素是(2 ( 3 4)) 第二层第一个是2 第二个是 (3 4) 第三层第一个是 3 第二个…

stm32入门-----ADC模数转换器(理论篇——上)

目录 前言 一、ADC模数转换器 1.简介 2.ADC的结构 3.输入通道 4.转换模式 5.触发控制 6.数据对齐 7.转换时间 8.校准 前言 本期就开始学习ADC模数转换器,这个大家在学习51单片机的时候应该就接触过了,实际上就是把模拟电压转换为…

YOLOv5改进 | 卷积模块 | 即插即用的递归门控卷积gnConv

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…

认识到自己的无知,需要一定的智慧

知识本是补药,却被变成毒药——“新无知”的三种表现 今天,一个人如果把评书、演义、宫廷剧当作真实历史,把当年从教科书上学来的过时理论当做“观世界”的金科玉律,并以此嘲笑别人“无知”的,属于典型的“新古人”—…

线程的同步和优先级

文章目录 前言一、优先级和同步各是什么?二、使用方法 1.线程的优先级2.线程的同步总结 前言 线程不仅可以实现代码的单线程运行和并发运行,在线程安全的情况下,还可以实现共同处理相同的系统资源。该篇文章还介绍了开发者如何设置线程运行的…

【数据结构】单链表带头双向循环链表的实现

一、链表的概念及结构 1.链表的概念 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 2.链表的结构 一般讲的链表包括数据域和指针域: 二、链表的种类 实际中链表的结构…