下一个排列

Posted dreamy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下一个排列相关的知识,希望对你有一定的参考价值。

/*
下一个排列--看图解。
*/
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include <iostream>
void swap(int nums[],int i,int j){
    int t=nums[i];
    nums[i]=nums[j];
    nums[j]=t;
}
static int comp(const void *a,const void *b){
    return *(int*)a-*(int*)b;
}
void nextPermutation(int* nums, int numsSize){
    if(NULL==nums||0==numsSize){
        return;
    }
    int i,j,k;
    for(i=numsSize-2;i>=0&&nums[i+1]<nums[i];i--);

    if(-1==i){
        return qsort(nums,numsSize,sizeof(int),comp);
    }


    for(j=i+1;j<numsSize&&nums[i]<nums[j];j++);
    swap(nums,i,j-1);
    qsort(nums+i+1,numsSize-1-i,sizeof(int),comp);
}

int main()
{
    /*
        1,2,3,8,5,7,6,4
        1,2,3,8,6,7,5,4
        1,2,3,8,6,4,5,7
    */
    int nums[]={1,2,3,8,5,7,6,4};
    nextPermutation(nums,8);
    int i;
    for(i=0;i<8;i++){
        printf("%d ",nums[i]);
    }
    printf("\\n");
    return 0;
}

 

以上是关于下一个排列的主要内容,如果未能解决你的问题,请参考以下文章

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

有人知道下面的代码片段是啥意思吗?

你可能不知道的JavaScript代码片段和技巧(下)

java刷题--31下一个排列

下一个排列问题next_permutation

如何在片段中使用 GetJsonFromUrlTask​​.java