鱼C论坛

 找回密码
 立即注册
查看: 2858|回复: 1

关于 sort函数问题

[复制链接]
发表于 2014-8-18 20:53:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>
#include<algorithm>

bool bigThan(const long & num1,const long & num2)
{
        if(num1 >= num2)
        {
                return true;
        }
        else
        {
                return false;
        }
}
int reduce(long ar[], int n)
{
        long *tail;
        std::sort(ar, ar+n,bigThan);/*单步到这一句崩溃了*/
        tail = std::unique(ar,ar+n);
        return (tail - ar);
}

int main()
{
        long num[10] = {1,2,3,4,5,5,4,3,2,1};
        std::cout << reduce(num, 10) << '\n';
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-18 23:22:21 | 显示全部楼层
排序准则返回true的时候要严格弱序(简单说就是不能含等号)
  1. #include<iostream>
  2. #include<algorithm>

  3. bool bigThan(const long & num1,const long & num2)
  4. {
  5.          //if(num1 >= num2)
  6.                  if(num1 > num2)
  7.          {
  8.                  return true;
  9.          }
  10.          else
  11.          {
  12.                  return false;
  13.          }
  14. }
  15. int reduce(long ar[], int n)
  16. {
  17.          long *tail;
  18.          std::sort(ar, ar+n,bigThan);/*单步到这一句崩溃了*/
  19.          tail = std::unique(ar,ar+n);
  20.          return (tail - ar);
  21. }

  22. int main()
  23. {
  24.          long num[10] = {1,2,3,4,5,5,4,3,2,1};
  25.          std::cout << reduce(num, 10) << '\n';
  26.          return 0;
  27. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-12 20:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表