当前位置: 首页 > news >正文

排序XXXXXXXXX

信息学奥赛|常见排序算法总结(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函数中的代码展示了如何使用这个比较函数对版本号数组进行排序。

 

相关文章:

排序XXXXXXXXX

信息学奥赛&#xff5c;常见排序算法总结&#xff08;C&#xff0b;&#xff09; - 腾讯云开发者社区-腾讯云 (tencent.com) https://cloud.tencent.com/developer/news/975232 常用序号层级排序 一、序号 序号Sequence Number&#xff0c;有顺序的号码&#xff0c;如数字序号…...

【文件解析漏洞】实战详解!

漏洞描述&#xff1a; 文件解析漏洞是由于中间件错误的将任意格式的文件解析成网页可执行文件&#xff0c;配合文件上传漏洞进行GetShell的漏洞! IIS解析漏洞&#xff1a; IIS6.X&#xff1a; 方式一:目录解析 在网站下建立文件夹的名字为.asp/.asa 的文件夹&#xff0c;其目…...

【杂谈】学会让你节省三秒钟——Dev-c++的缺省源

【杂谈】学会让你节省三秒钟——Dev-c的缺省源 1.前言2.缺省源的介绍3.注意 1.前言 你是否在为每次写程序都要自己手打一遍框架而感到苦恼&#xff1f;为什么大佬的Dev-C一新建文件就会自动出现程序框架&#xff1f;看完这篇文章&#xff0c;让你也能成为大佬&#xff0c;不用再…...

推荐一款前端滑动验证码插件(Vue、uniapp)

uniapp版本&#xff1a;滑块拼图验证码&#xff0c;有后端&#xff0c;简单几步即可实现&#xff0c;小程序、h5都可以用 - DCloud 插件市场 Vue版本及cdn版本可以查阅文档&#xff1a; 行为验证 | Poster 文档 示例代码&#xff1a; <template><view id"app&…...

【Git】git stash

目录 基本概念参数详解listshowsavepushpop|applydropclearbranch 参考文章 Git的stash命令是一个非常实用的功能&#xff0c;它允许开发者临时保存工作目录和暂存区的更改&#xff0c;以便能够切换到其他分支或进行其他操作&#xff0c;而不会丢失当前的修改。以下是git stash…...

不得不安利的程序员开发神器,太赞了!!

作为一名程序员&#xff0c;你是否常常为繁琐的后端服务而感到头疼&#xff1f;是否希望有一种工具可以帮你简化开发流程&#xff0c;让你专注于创意和功能开发&#xff1f;今天&#xff0c;我要向大家隆重推荐一款绝佳的开发神器——MemFire Cloud。它专为懒人开发者准备&…...

吴恩达机器学习C1W2Lab06-使用Scikit-Learn进行线性回归

前言 有一个开源的、商业上可用的机器学习工具包&#xff0c;叫做scikit-learn。这个工具包包含了你将在本课程中使用的许多算法的实现。 目标 在本实验室你可以&#xff1a; 利用scikit-learn实现基于正态方程的近似解线性回归 工具 您将使用scikit-learn中的函数以及ma…...

CSS实现表格无限轮播

<div className{styles.tableTh}><div className{styles.thItem} style{{ width: 40% }}>报警名称</div><div className{styles.thItem} style{{ width: 35% }}>开始时间</div><div className{styles.thItem} style{{ width: 25% }}>状态&…...

编程小白如何从迷茫走出

针对新生们常常感到的迷茫&#xff0c;以下是如何选择适合自己的编程语言、如何制定有效的学习计划以及如何避免常见的学习陷阱的详细建议&#xff1a; 一、如何选择适合自己的编程语言 明确需求和目标&#xff1a;不同的编程语言有不同的特点和适用场景。例如&#xff0c;Py…...

14 B端产品的运营管理

通过运营找到需求并通过交换价值提供供给&#xff0c;再逐步扩大规模、站稳脚跟&#xff0c;辅助产品在商业竞争中获胜。 B端产品运营框架 1. 打通渠道 目的&#xff1a;触达客户。 环节&#xff1a;文案策划、活动策划→广告渠道推广→线下BD。 线下BD&#xff1a;通过见面…...

STM32_RTOS学习笔记——1(列表与列表项)

总体RTOS笔记目录 一&#xff0c;列表与列表项&#xff08;本文&#xff09; 二&#xff0c;待定 视频参考&#xff1a;B站野火 一&#xff0c;C语言列表概念 列表就是C语言中的链表&#xff0c;链表就如同下面的衣架一样&#xff0c;需要的各种内容可以参考 C语言链表可…...

子网划分案例

划分子网是将一个较大的网络划分为多个较小的子网&#xff0c;以提高网络管理和安全性 子网划分可以更有效地利用 IP 地址空间&#xff0c;并且有助于控制网络流量、提高网络性能和安全性。 子网划分的主要步骤如下&#xff1a; 确定需要划分的子网数量以及每个子网所需的主…...

javaweb_02:Maven

一、引入 在javaweb的开发中&#xff0c;需要使用大量的jar包&#xff0c;我们得手动去导入&#xff0c;而Maven可以自动帮我们导入和配置这个jar包。 二、Maven项目框架管理工具 核心思想&#xff1a;约定大于配置&#xff08;有约束不违反&#xff09;&#xff1a;Maven会…...

19.延迟队列优化

问题 前面所讲的延迟队列有一个不足之处&#xff0c;比如现在有一个需求需要延迟半个小时的消息&#xff0c;那么就只有添加一个新的队列。那就意味着&#xff0c;每新增一个不同时间需求&#xff0c;就会新创建一个队列。 解决方案 应该讲消息的时间不要跟队列绑定&#xf…...

P10477 Subway tree systems 题解,c++ 树相关题目

题目 poj 链接 洛谷链接 n n n 组数据&#xff0c;每组数据给定两个 01 01 01 串&#xff08;长度不超过 3000 3000 3000&#xff09;&#xff0c;意思如下&#xff1a; 对于每一个 0 0 0&#xff0c;代表该节点有一个子节点&#xff0c;并前往该子节点。对于每一个 1 1 …...

18.jdk源码阅读之CopyOnWriteArrayList

1. 写在前面 CopyOnWriteArrayList 是 Java 中的一种线程安全的 List 实现&#xff0c;基于“写时复制”&#xff08;Copy-On-Write&#xff09;机制。下面几个问题大家可以先思考下&#xff0c;在阅读源码的过程中都会解答&#xff1a; CopyOnWriteArrayList 适用于哪些场景…...

美股:AMD展现乐观前景,挑战AI加速器市场霸主

在科技行业的激烈竞争中&#xff0c;AMD公司近期发布了对当前季度收入的乐观预测&#xff0c;显示出其新推出 一、AMD第三季度营收预期超越分析师平均预期 AMD在周二的声明中预计&#xff0c;第三季度营收将达到约67亿美元&#xff0c;这一数字超出了分析师此前平均预期的66.…...

如何提高计算机视觉技术在复杂环境和低光照条件下的物体识别准确率?

要在复杂环境和低光照条件下提高计算机视觉技术的物体识别准确率&#xff0c;可以采取以下几个方法&#xff1a; 数据增强&#xff1a;在训练集中添加各种复杂环境和低光照条件下的图片&#xff0c;通过增加数据的多样性&#xff0c;使算法能够更好地适应各种场景。 预处理&am…...

ubuntu cmake使用自己版本的qt

给一篇文章参考 https://blog.csdn.net/bank_dreamer/article/details/138678909 自己使用的范例 set(Qt5_DIR "/home/peak/Qt5.14.0/5.14.0/gcc_64/lib/cmake/Qt5")# 设置Qt5的安装目录 #set(CMAKE_PREFIX_PATH "/home/peak/Qt5.14.0")find_package(Qt5…...

Python基础知识笔记---保留字

保留字&#xff0c;也称关键字&#xff0c;是指被编程语言内部定义并保留使用的标识符。 一、保留字概览 二、保留字用途 1. False&#xff1a;表示布尔值假。 2. None&#xff1a;表示空值或无值。 3. True&#xff1a;表示布尔值真。 4. not&#xff1a;布尔逻辑操作符…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...