aa953950670 2016-05-24 16:01 采纳率: 0%
浏览 1747

C++ STL中的sort排序算法

#define _CRT_SECURE_NO_WARNINGS
#include"iostream"
using namespace std;
#include"vector"
#include"list"
#include"set"
#include"algorithm"
#include"functional"
class teacher
{
public:
int age;
char *name;
public:
teacher()
{
this->name = new char[1];
strcpy(this->name, 0);
this->age = 0;
}
teacher(char *name,int age)
{
this->name = new char[strlen(name) + 1];
this->age = age;
strcpy(this->name, name);
}
teacher(const teacher&obj)
{
this->name = new char[strlen(obj.name) + 1];
this->age =obj.age;
strcpy(this->name, obj.name);
}

~teacher()
{
    if (this->age != NULL)
    {
        delete[]this->name;
    }
    this->age = 0;
    this->name = NULL;
}
teacher* operator = (teacher&obj)
{
    teacher* p;
    p = &obj;
    return p;
}
bool operator<(const teacher  obj5)
{
    return this->age < obj5.age;
}

};

bool chang(teacher obj1, teacher obj2)
{

cout << obj1.name << endl;
if (obj1.age < obj2.age)
{
return true;
}
else
{
return false;
}
}

void main02()
{
teacher ouyangdian("ouyangdian", 18);
teacher wuhui("wuhui",25);
teacher wudong("wudong", 19);
teacher zhuwenjun("zhuwenjun", 17);
vector array;
array.push_back(ouyangdian);
array.push_back(wuhui);
array.push_back(wudong);
array.push_back(zhuwenjun);
vector::iterator it = array.begin();
sort(it, array.end(),chang);
vector::iterator it1 = array.begin();
for (it1; it1 != array.end(); it1++)
{
cout << it1->name << " " << it1->age << endl;
}
}

void main()
{
//main03();
main02();
system("pause");
return;
}

请各位大神看看这段代码,为何不能实现排序呢。。跪求

  • 写回答

5条回答 默认 最新

  • Robot-C 2016-05-24 16:12
    关注

    C++之所以得到这么多人的喜欢,是因为它既具有面向对象的概念,又保持了C语言高效的特点。STL 排序算法同样需要保持高效。因此,对于不同的需求,STL提供的不同的函数,不同的函数,实现的算法又不尽相同。
    1.1 所有sort算法介绍
    所有的sort算法的参数都需要输入一个范围,[begin, end)。这里使用的迭代器(iterator)都需是随机迭代器(RadomAcce......
    答案就在这里:STL sort排序算法详细介绍
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体