如何按降序打印数组?

时间:2017-07-06 19:15:09

标签: c++ arrays function sorting

基本上这是我的代码,它运行正常。我只是不知道如何按降序打印它。这段代码基本上显示了奇数:1,3,5,7。我想要它打印7,5,3,1。我知道我需要使用sort函数,但我不知道如何。

.logon xxx/xx,xx
CALL DD_LAB.MY_SP('a', 'b', outParam);
.logoff

3 个答案:

答案 0 :(得分:1)

for(int i = n-1; i >= 0; i--)
{
    cout << arr[i] << ", ";
}

答案 1 :(得分:1)

示例:

void printArray(int *tab, int size)
{
    for (int i = size - 1; i >= 0; i--)
        std::cout << tab[i] << std::endl;
}
int main() {
    int tab[3] = { 1,2,3 };
    printArray(tab, 3);

}

你应该从最后一个元素数组开始,并将迭代器(i)递减到i == 0

答案 2 :(得分:-1)

您可以简单地使用排序功能。 算法标题中包含一个。

#include <algorithm> // this goes at the top

void printArray(int arr[], int n)
{
  sort(arr, arr+n, [](int x, int y){return y<x;});

  for(int i=0;i<n;i++)
    cout << arr[i] << endl;
}

[](int x, int y){return y<x;}部分只是让它下降。通常它是y> x,此时你可以省略第三个参数

这是一个repl: https://repl.it/JQor/0