按升序排列值的算法

时间:2019-05-18 02:12:48

标签: c++ algorithm

我目前正在编写一段代码,该代码最多可读取20个整数,将它们分配给一个向量,然后按升序排列它们。我拥有所有东西,但是我不知道如何按升序排列它们。

#include <iostream.h>
#include "apvector.h"

void DisplayVector(int intOutputLoop, int intInputLoop, apvector<int> numbers);
void BuildVector(int &intInputLoop, apvector<int> &numbers);


void BuildVector(int &intInputLoop, apvector<int> &numbers)
{
    int intInput;

    do
    {
        if (!(cin >> intInput))
        {
            cout << "Please Enter A Numeric Value" << endl;
            cin.clear();
            cin.ignore(1000000, '\n');
        }   
        else
        {
            if (intInput == 666)
                break;
            else
            {
                numbers[intInputLoop] = intInput;
                intInputLoop = intInputLoop + 1;
            }
        }
    }
    while (intInputLoop < 20);
}

void DisplayVector(int intOutputLoop, int intInputLoop, apvector<int> numbers)
{

}
int main()
{
    apvector<int> numbers(20);
    int intInputLoop = 0;
    int intOutputLoop = 0;

    BuildVector(intInputLoop, numbers);

    DisplayVector(intOutputLoop, intInputLoop, numbers);


}

1 个答案:

答案 0 :(得分:0)

我通过以下方法解决了这个问题:

std::sort (numbers.begin(), numbers.end());

    for (std::vector<int>::iterator order = numbers.begin(); order != numbers.end(); ++order)
    {
            if (*order != 0)
                std::cout << ' ' << *order;
    }