C_and_CPP 板


LINE

rt 如果小弟写了一个class p p(string s, int n) 接着 p a("a", 1); p b("b", 2); 然後想用sort以n的大小来排序 比如想大到小的话排起来就是b a 请问该怎麽写呢? ----- Sent from JPTT on my Sony D6653. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 112.105.52.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1516854834.A.C0D.html
1F:→ LPH66: 问1: 如果不是 class p 而是普通数字你会写吗? 01/25 12:37
2F:→ LPH66: 问2: 写过运算子覆载吗? 01/25 12:38
3F:推 Sidney0503: 放到container然後使用std::sort 01/25 12:38
4F:→ Sidney0503: 然後自定义operator< 01/25 12:38
5F:→ Sidney0503: 不好意思说错 是自定义functor 01/25 12:47
6F:→ hydebeast: l大 会的 01/25 13:08
7F:→ hydebeast: s大 不好意思可以稍微详细一点吗? 01/25 13:08
8F:推 alan23273850: 简单来说就是针对新物件自定义大小关系,网路上都 01/25 13:39
9F:→ alan23273850: 找得到,有两种写法 01/25 13:39
10F:→ alan23273850: 关键字:cpp custom sort 01/25 13:39
11F:推 BlazarArc: http://en.cppreference.com/w/cpp/algorithm/sort 01/25 13:46
12F:→ BlazarArc: 三楼说的用std::sort (3)的用法 下面也有例子 01/25 13:46
13F:→ hydebeast: 小弟参考网路类似的例子 bool cmp(p&a, p&b) 01/25 13:52
14F:→ hydebeast: {return a<b} 然後再sort(c.begin(),c.end(),cmp) 01/25 13:53
15F:→ hydebeast: c是vector<p*>c 可是这样会错误 好像是因为我的cmp里 01/25 13:54
16F:→ hydebeast: 面是p& vector是p*吗?抱歉小弟对&跟*还很混乱 可是不 01/25 13:55
17F:→ hydebeast: 管想把cmp的&改*还是反过来vector的*改&都会错误 01/25 13:56
18F:→ hydebeast: 另外还到定义operator<(p&a,p&b){return a.n<b.n} 01/25 13:58
19F:→ hydebeast: 然後直接sort的做法 可是这样sort出来跟没定义<的时候 01/25 13:59
20F:→ hydebeast: 没差别@@ 01/25 13:59
21F:→ loveflames: http://www.cplusplus.com/reference/algorithm/sort/ 01/25 14:00
22F:→ hydebeast: 小弟目前网路看到的都是类似bool cmp那个的做法 都会出 01/25 14:12
23F:→ hydebeast: 现*跟&的问题 请问怎麽解QQ对*跟&真的不熟 01/25 14:12
24F:推 Sidney0503: 上面已经说了关键字:cpp custom sort 英文google 01/25 14:33
25F:→ Sidney0503: 第一篇就是了 01/25 14:33
26F:→ hydebeast: http://i.imgur.com/CgzjTY3.jpg 小弟照搜寻第一篇的方 01/25 14:53
27F:→ hydebeast: 法 但编译不会过 就是上面有讲到的*跟&的问题 但不会改 01/25 14:53
28F:→ hydebeast: … 01/25 14:53
29F:→ hydebeast: http://i.imgur.com/mZ1eE5B.jpg 上面的程式码 01/25 14:54
30F:嘘 loveflames: 又来一个贴图的,你是嫌上面几篇电的不够吗 01/25 14:55
31F:→ hydebeast: https://ideone.com/DZGBYz 很抱歉~ 01/25 14:59
32F:推 Sidney0503: 不要使用* 初学直接传实体就好 01/25 15:07
33F:→ hydebeast: 程式码本身是题目给的 他只要求把sort部分写出来 而且 01/25 15:15
34F:→ hydebeast: 小弟有试着把*都去掉 可是person p会出错… 01/25 15:15
35F:→ hydebeast: 另外三个class里面的public也是小弟写的 不过如果没加s 01/25 15:19
36F:→ hydebeast: ort的话跑起来结果是对的 还是说那部分有错呢? 01/25 15:19
37F:推 jerryh001: cmp不对 应该要person* 而不是const person& 01/25 15:28
38F:→ hydebeast: j大我有改过那样 不过这样a.ID会错 他说expression mus 01/25 15:34
39F:→ hydebeast: t have class type 01/25 15:34
40F:推 LPH66: 我觉得你先回头搞懂 * & 的意义跟用法再回到这题上来好了 01/25 15:40
41F:→ LPH66: 你这里撞到的问题都跟你原来的 sort 几乎无关 01/25 15:40
42F:→ LPH66: 反而都是 * & 这些观念不清楚造成的 01/25 15:40
43F:→ loveflames: 你不会把问题单纯化吗,明明问题只是在怎麽排序,非得 01/25 15:41
44F:→ loveflames: 连继承也一起扯进来 01/25 15:41
45F:→ LPH66: 你这里面只有一个地方跟 sort 有关: 01/25 15:41
46F:→ LPH66: 比较函数收的型态是元素型态, 你的元素是 p* 它就收 p* 01/25 15:42
47F:→ LPH66: 你的元素是 p 它就收 p; 至於怎麽写就要看你参数是什麽 01/25 15:42
48F:→ LPH66: 这里就是我说你没搞懂的地方了, 不是 * & . -> 乱试 01/25 15:43
49F:→ LPH66: 而是去知道写这个符号代表什麽意义, 要怎麽找到你要的资料 01/25 15:43
50F:→ loveflames: 不熟麻烦请循序渐进,不是把一堆有问题的code拼凑起来 01/25 15:45
51F:→ loveflames: 然後才问问题在哪,根本大哉问 01/25 15:46
52F:→ hydebeast: 感谢各位跟L大 解出来了 01/25 16:05
53F:→ hydebeast: *LP大 01/25 16:08
54F:推 pizzafan: https://www.youtube.com/watch?v=MZaf_9IZCrc 01/25 18:38
55F:→ pizzafan: ↑这边有youtuber吗? 要做中文版讲解吗? 或是改良更好些 01/25 18:39







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP