写点什么

TableWidget 排序的多种方式

作者:用户10086
  • 2022 年 7 月 21 日
  • 本文字数:659 字

    阅读完需:约 2 分钟

前言

在 tablewidget 的使用过程中,他的输出方式一边为无序,但是为了查看方便,所以有部分排序需求,接下来进行逐一介绍。

C++中 std::sort

在 C++中 std::sort,但是她所对应的排序类型有限,他只能对数组,或者链表 list、向量排序进行排序。


sort(参数一,参数二,排序方式)


参数一是指数组的⾸地址,⼀般写上数组名就可以,因为数组名是⼀个指针


参数 2:第⼆个参数相对较好理解,即⾸地址加上数组的长度 n(代表尾地址的下⼀地址),也可以直接写最后一个之后的地址 这里一定一定要注意,不能直接写需要排序的最后一个地址


参数 3:默认可以不用输,但是要注意的是,不输入会默认为升序排序。也就是 1,2,3 也可以输入参数为逆序

qsort

void qsort(void base,int nelem,int width,int (*fcmp)(const void ,const void *));参数:1 与 sort 一样 输入的是数组首地址(可以直接填写名称)2 数组中需要排序的总数 3 单个元素所占用的空间大小 4 指向函数的指针,用于确定是进行升序还是逆序

利用 QMap 的属性

QMap 是默认的肾虚排序,我们可以把需要排序的内容以 Map 的形式存储,他的优点是:教育以上两种方法,他可以对多种类型进行排序


for (QMap<string,string>::iterator itmap = List.begin();itmap != List.end();itmap++)//互斥     {     }
复制代码


顺序输出为升序输出


for (QMap<string,string>::iterator itmap = --List.end();itmap != --List.begin();itmap--)     {     }
复制代码


反向输出为逆序输出,但是这里主义的是一定要用--List.end(),不能使用 List.end()--,大家可以查询比较两者的差异性。


今天的更新到此结束,希望各位大佬批评指正!

发布于: 刚刚阅读数: 3
用户头像

用户10086

关注

还未添加个人签名 2022.07.01 加入

一个辣椒爱好者

评论

发布
暂无评论
TableWidget 排序的多种方式_qt_用户10086_InfoQ写作社区