排序XXXXXXXXX

news2024/12/31 5:16:03

信息学奥赛|常见排序算法总结(C+) - 腾讯云开发者社区-腾讯云 (tencent.com)

https://cloud.tencent.com/developer/news/975232

常用序号层级排序

一、序号

  序号Sequence Number,有顺序的号码,如数字序号(1、2、3...),大写汉字数字序号(一、二、三...)
正确地运用序号,能使我们的文章层次清楚,逻辑分明,便于阅读和引述。
  在我们在写文章,特别是在写论文中经常会用到数字序号。如果不加以重视,文章中很容易出现层次大小不分、中文数字与阿拉伯数字混用、前后序号形式不统一等问题。

二、序号的结构层次顺序

(一)数字序号的级别顺序为:

第一层,汉字数字加顿号:“一、” “二、” “三、”;
第二层,括号中包含汉字数字:“(一)” “(二)” “(三)”;
第三层,阿拉伯数字加下脚点:“1. ”“2.”“3.”;
第四层,括号中包含阿拉伯数字:“(1)” “(2)” “(3)”;
第五层,带圈的阿拉伯数字,例如:“①” “②” “③”或者“1)” “2)” “3)”;
第六层,大写英文字母,例如:“A.” “B.” “C.”或者“(A)” “(B)” “(C)”;
第七层,小写英文字母,例如: “a.” “b.” “c.”或者“(a)” “(b)” “(c)”;

(二)理科类论文的正文层次标题序号

  理科类论文的各层次标题还可用阿拉伯数字连续编码,不同层次的2个数字之间用下圆点(.)分隔开,末位数字后面不加点号。如“1”,“1.2”,“1.2.1”等;
各层次的标题序号均左顶格排写,最后一个序号之后空一个字距接排标题。如“5.3.2 测量的方法”,表示第五章第三节第二条的标题是“测量的方法”。

注意:同一层次各段内容是否列标题应一致,各层次的下一级序号标法应一致,若层次较少可不用若干加括号的序号。

(三)正文中图、表、公式、算式等的序号

1.正文中的图、表、公式、算式等序号一律用阿拉伯数字分别依序连续编排序号,其标注形式应便于互相区别,如“图1、表2、式(5)”等;

图片取自论文《基于约束最小二乘的三维点云墙体重建》(周刚、李霖)

2.对长篇研究报告也可以分章(条)依序编码,如“图2.1、表4.2、式(3.3)”等,其前一个数字表示章(条)序号,后一个数字表示本章中图表、公式的序号。

图片取自书籍《ArcGIS地理信息系统教程》(原书第7版)

33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333

计算机综合基础知识记录(408、面试) - 知乎 (zhihu.com)

https://zhuanlan.zhihu.com/p/626540048

qtreeview 某一列排序 1 1-1 1-1-1

为了在QTreeView的某一列上进行排序,你可以使用QTreeView的sortByColumn()方法,并且可能需要重写QTreeView的sectionClicked信号处理函数。

以下是一个简单的例子,展示了如何对QTreeView的某一列进行排序。

 
 

from PyQt5.QtWidgets import QApplication, QTreeView, QTableWidgetItem, QHeaderView, QAbstractItemView

from PyQt5.QtCore import Qt, QModelIndex, QSortFilterProxyModel, QStringListModel

class CustomSortProxyModel(QSortFilterProxyModel):

def lessThan(self, left: QModelIndex, right: QModelIndex) -> bool:

left_data = left.data()

right_data = right.data()

# 对数据进行自定义排序规则

# 这里是按照数字、短横线数字、短横线数字短横线的顺序进行排序

def split_items(item):

return item.split('-')

left_parts = split_items(left_data)

right_parts = split_items(right_data)

for i in range(min(len(left_parts), len(right_parts))):

left_part = left_parts[i]

right_part = right_parts[i]

try:

# 尝试转换为整数,进行数字比较

left_num = int(left_part)

right_num = int(right_part)

if left_num != right_num:

return left_num < right_num

except ValueError:

# 如果不是整数,就直接比较字符串

if left_part != right_part:

return left_part < right_part

# 如果前面部分都相同,则比较部分的长度

return len(left_parts) < len(right_parts)

def main():

app = QApplication([])

model = QStringListModel()

data = ["1", "1-1", "1-1-1", "2", "2-1", "2-2", "3", "3-1", "3-1-1"]

model.setStringList(data)

tree = QTreeView()

tree.setModel(model)

# 设置代理模型以实现自定义排序

proxy_model = CustomSortProxyModel()

proxy_model.setSourceModel(model)

tree.setModel(proxy_model)

# 设置第一列可排序

tree.sortByColumn(0, Qt.AscendingOrder)

tree.header().setSectionResizeMode(QHeaderView.ResizeToContents)

tree.setEditTriggers(QAbstractItemView.NoEditTriggers)

tree.show()

app.exec_()

if __name__ == '__main__':

main()

在这个例子中,我们创建了一个QTreeView来展示一个字符串列表。我们定义了一个CustomSortProxyModel类,它重写了lessThan方法来实现自定义的排序逻辑。这里的逻辑是尝试将每个条目分割成部分,并尝试将每个部分转换为整数进行比较,如果转换失败则直接比较字符串。这样就可以按照数字、短横线数字、短横线数字短横线…的顺序进行排序。当你点击列头时,QTreeView会自动调用sortByColumn方法进行排序,并使用我们定义的CustomSortProxyModel来实现自定义的排序逻辑。

44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444

https://blog.csdn.net/in_void/article/details/111720221

C++数据结构的一些代码(排序部分)_c++利用结构体排序插入代码l-CSDN博客

555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555

排序算法原理及C++实现(桶排序、冒泡排序、快速排序) - 知乎 (zhihu.com)

排序算法原理及C++实现(桶排序、冒泡排序、快速排序) - 知乎 (zhihu.com)

https://zhuanlan.zhihu.com/p/431933290

66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

https://www.cnblogs.com/starboy/p/11693675.html

 

C++|关于各种排序的总结 - =Icarus= - 博客园 (cnblogs.com)

777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777

1 1-1 1-1-1 排序 C++

要对这种格式的数字字符串进行排序,我们可以将它们分割为子串,并将每个子串转换为数字,然后比较数字的大小。以下是一个C++函数,它接受一个字符串向量作为输入,并按照这种格式的数字大小对其进行排序。

 
 

#include <iostream>

#include <vector>

#include <algorithm>

bool compareVersion(const std::string& a, const std::string& b) {

std::vector<int> a_version, b_version;

int num = 0;

for (char c : a) {

if (c == '-') {

a_version.push_back(num);

num = 0;

} else if (c >= '0' && c <= '9') {

num = num * 10 + (c - '0');

}

}

a_version.push_back(num);

num = 0;

for (char c : b) {

if (c == '-') {

b_version.push_back(num);

num = 0;

} else if (c >= '0' && c <= '9') {

num = num * 10 + (c - '0');

}

}

b_version.push_back(num);

for (size_t i = 0; i < a_version.size() && i < b_version.size(); ++i) {

if (a_version[i] < b_version[i]) return true;

if (a_version[i] > b_version[i]) return false;

}

return a_version.size() < b_version.size();

}

int main() {

std::vector<std::string> versions = {"1-1", "1-1-1", "1-1-2", "1-2", "2-1", "2-2"};

std::sort(versions.begin(), versions.end(), compareVersion);

for (const auto& version : versions) {

std::cout << version << std::endl;

}

return 0;

}

这段代码定义了一个compareVersion函数,它将字符串版本号分割为子版本号,并将它们转换为整数,然后按照从左到右的顺序比较它们。main函数中的代码展示了如何使用这个比较函数对版本号数组进行排序。

 

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

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

相关文章

数据结构: 链表回文结构/分割链表题解

目录 1.链表的回文结构 分析 代码 2.链表分割 ​编辑分析 代码 1.链表的回文结构 分析 这道题的难点是空间复杂度为O&#xff08;1&#xff09; 结合逆置链表找到链表的中间节点就可以解决了。 先找到链表的中间节点&#xff0c;再对中间节点的下一个节点进行逆置&…

代码随想录打卡第三十五天

代码随想录–动态规划部分 day 35 动态规划第三天 文章目录 代码随想录--动态规划部分一、卡码网46--携带研究材料二、力扣416--分割等和子集 一、卡码网46–携带研究材料 代码随想录题目链接&#xff1a;代码随想录 小明是一位科学家&#xff0c;他需要参加一场重要的国际科…

Leetcode—297. 二叉树的序列化与反序列化【困难】

2024每日刷题&#xff08;148&#xff09; Leetcode—297. 二叉树的序列化与反序列化 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(…

学习记录——day18 数据结构 树

树的存储 1、顺序存储 对于普通的二叉树&#xff0c;不适合存储普通的二叉树顶序存储&#xff0c;一般用于存储完全二叉树而言&#xff0c;如果使用顺序存储&#xff0c;会浪费大量的存储空间&#xff0c;因为需要给没有节点的位置留出空间&#xff0c;以便于后期的插入。 所以…

Springboot循环依赖的解决方式

Springboot循环依赖的解决方式 起因原因解决方案配置文件解决使用工具类获取bean还有一种我设想的方案 起因 今天重构代码时&#xff0c;发现之前的代码结构完全混乱&#xff0c;没有按照MVC分层思想去编写&#xff0c;很多业务逻辑写在了controller中&#xff0c;导致引用的很…

WebStorm中在Terminal终端运行脚本时报错无法加载文件进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅

错误再现 我们今天要 在webstorm用终端运行脚本 目的是下一个openAPI的 前端请求代码生成的模块 我们首先从github上查看官方文档 我们根据文档修改 放到webstorm终端里执行 报错 openapi : 无法加载文件 C:\Users\ZDY\Desktop\多多oj\dduoj\node_modules\.bin\openapi.p…

LabVIEW多种测试仪器集成控制系统

在现代工业生产与科研领域&#xff0c;对测试设备的需求日益增长。传统的手动操作测试不仅效率低下&#xff0c;而且易出错。本项目通过集成控制系统&#xff0c;实现了自动化控制&#xff0c;降低操作复杂度和错误率&#xff0c;提高生产和研究效率。 系统组成与硬件选择 系…

逆向软件更新 x64dbg 加入 windows api 函数设断点插件

百度网盘链接&#xff1a;https://pan.baidu.com/s/1VaGP0rN8uTf8j_SzBgaEPg?pwd6666

Docker容器限制内存与CPU使用

文章目录 Docker 容器限制内存与 CPU 使用内存限额内存限制命令举例使用 `nginx` 镜像学习内存分配只指定 `-m` 参数的情况CPU 限制命令举例验证资源使用Docker 容器限制内存与 CPU 使用 在生产环境中,为了保证服务器不因某一个软件导致服务器资源耗尽,我们会限制软件的资源…

用uniapp 及socket.io做一个简单聊天app 2

在这里只有群聊&#xff0c;二个好友聊天&#xff0c;可以认为是建了一个二人的群聊。 const express require(express); const http require(http); const socketIo require(socket.io); const cors require(cors); // 引入 cors 中间件const app express(); const serv…

学术研讨 | 区块链治理与应用创新研讨会顺利召开

学术研讨 近日&#xff0c;国家区块链技术创新中心组织&#xff0c;长安链开源社区支持的“区块链治理与应用创新研讨会”顺利召开&#xff0c;会议围绕区块链治理全球发展现状、研究基础、发展趋势以及区块链行业应用创新展开研讨。北京大学陈钟教授做了“区块链治理与应用创…

我们的人生,向阳而生,去更远的地方,见更亮的光

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/140683410 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

qt SQLite学习记录

1. 查看qt中数据库的驱动的类型的支持 QStringList drivers QSqlDatabase::drivers();//获取qt中所支持的数据库驱动类型foreach(QString driver,drivers){qDebug()<<driver;}2. Qt SQL 模块包含的主要类的功能介绍 Qt SQL 模块包含了一些主要的类&#xff0c;用于在 …

自动驾驶系统开发与调试:车路云一体化无人驾驶挑战赛参赛体验

点击蓝字 关注我们 在过去的几年里&#xff0c;自动驾驶技术在全球范围内吸引了大量关注。其潜力不仅在于提升行车安全&#xff0c;而且还可以改变我们的出行方式和城市规划&#xff0c;提高交通运输效率。国际汽车工程师学会&#xff08;SAE&#xff09;根据不同自动驾驶程度&…

Linux中,MySQL数据库管理

使用MySQL数据库 查看数据库结构 MySQL是一套数据库管理系统&#xff0c;在每台MySQL服务器中&#xff0c;均支持运行多个数据库&#xff0c;每个数据库相当于一个容器&#xff0c;其中存放着许多表&#xff0c;如图2.1所示。 下面分别介绍查看数据库、表结构的相关操作语句。…

单片机原理及技术(四)—— C51语言程序设计基础(C51编程)

目录 一、C51语言中的数据类型与存储类型 1.1 数据类型 1.2 C51语言的扩展数据类型 1.3 数据存储类型 1.4 数据存储模式 二、C51语言的特殊寄存器及变量定义 2.1 特殊功能寄存器的C51语言定义 2.1.1 使用关键字定义sfr 2.1.2 使用头文件访问SFR 2.1.3 特殊功能寄存器…

《梦醒蝶飞:释放Excel函数与公式的力量》18.1 图表类型与设计

第18章&#xff1a;创建图表和数据可视化 18.1 图表类型与设计 Excel提供了多种图表类型&#xff0c;帮助用户以直观的方式展示数据。选择合适的图表类型和设计可以显著提高数据的可读性和理解度。以下将介绍常见的图表类型及其应用&#xff0c;并通过具体案例进行说明。 18.…

无人机制造工艺流程详解

一、需求分析 无人机制造的第一步是需求分析。这一阶段主要明确无人机的使用场景、功能要求、性能指标以及成本预算等。通过与客户或项目团队的深入沟通&#xff0c;确保对无人机的需求有全面而准确的理解。同时&#xff0c;也需要进行市场调研&#xff0c;了解同类型产品的特…

达梦数据库系列—31. 事务和锁

目录 事务 事务的状态 事务的四种隔离级别ACID 锁 锁粒度 锁等待与死锁 锁查看 锁处理 事务 数据库事务是指作为单个逻辑工作单元的一系列操作的集合。 事务的状态 NOT_START 未启动 ACTIVE 活动 LOCK_WAIT 锁等待 TRX4_PRE_COMMIT 预提交 事务ID(事务号)&…

llamaindex+Internlm2 RAG实践

llamaindexInternlm2 RAG实践 环境、模型准备 进入开发机后&#xff0c;从官方环境复制运行 InternLM 的基础环境&#xff0c;命名为 llamaindex&#xff0c;在命令行模式下运行&#xff1a; conda create -n llamaindex python3.10运行 conda 命令&#xff0c;激活 llamain…