#include<algorithm>

 

1. sort(array, array + length) 排序,default小到大

 

若要大到小

方法:

1. reverse(array, array + length)

2.sort(array, array + length, cmp)

   bool  cmp(int a, int b){

           return a > b;  //升冪排列   (return a < b; 降冪)

 

 

   }

 

字典排序

小到大

next_permutation(array, array + length)

大到小

prev_permutation(array, array + length)

 

此題要字典排序大到小,故sort大到小再prev_permutation即可。

 

迴圈

輸入

先將陣列設為 n ~1

再利用字典排序輸出

 

 

#include <cstdio>
#include <algorithm>

 

 


using namespace std;

int main ()
{
    int n;
    int guess[10];

    while(~scanf("%d", &n))
    {
        for(int i = 0; i<n; i++)
            guess[i] = n-i;

        do
        {
            for(int i = 0; i<n; i++)
                printf("%d", guess[i]);
            printf("\n");
        }
        while( prev_permutation(guess,guess + n) );

  }

  return 0;
}

 

arrow
arrow
    全站熱搜

    大神(偽) 發表在 痞客邦 留言(0) 人氣()