首页 > 解决方案 > 程序输入名称和高度并显示它。我不知道如何在列表中显示最高人的姓名和身高

问题描述

void insertname()
{
    while (true)
    {
        char dec;
        nodename* temp;
        temp = new nodename;
        std::cout << "ENTER YOUR NAME : ";
        std::cin >> temp->name;
        std::cout << "ENTER YOUR HEIGHT : ";
        std::cin >> temp->height;
        std::cout << '\n';
        temp->next = NULL;
        if (rear == NULL)
        {
            rear = temp;
            front = temp;
        }
        else
        {
            rear->next = temp;
            rear = temp;
        }
        std::cout << "ADD ANOTHER DATA? (Y/N) : ";
        std::cin >> dec;
        std::cout << '\n';
        if (dec == 'n' || dec == 'N')
        {
            break;
        }
    }
}

void display()
{
    nodename* temp = front;
    while (temp != NULL)
    {
        std::cout << "--------------------------" << '\n';
        std::cout << "NAME : " << temp->name << endl;
        std::cout << showpoint << fixed << setprecision(0);
        std::cout << "HEIGHT : " << temp->height << endl;
        std::cout << showpoint << fixed << setprecision(2);
        temp = temp->next;
        std::cout << "--------------------------" << '\n';

    }
}

这使用带有队列的链接列表来显示我已经完成的姓名和身高,但我无法找到一种显示输出的方法,以便它显示列表中最高人的姓名和身高。对于程序中的任何错误,我很抱歉,我对编程比较陌生,我还在学习。我真的很感激帮助

标签: c++c++11linked-list

解决方案


据我了解,您正在寻找的是 STL 库排序功能,您可以简单地使用:

std::sort(arr, sizeof(arr)/sizeof(arr[0]), greater<int>());

按降序对任何数组进行排序。


推荐阅读