博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
全排序的两种想法
阅读量:5766 次
发布时间:2019-06-18

本文共 1366 字,大约阅读时间需要 4 分钟。

字典序全排序: 1 import java.util.Arrays; 2 import java.util.Scanner; 3 public class Cao41 { 4     /** 5      * @param 第一行输入个数N,第二行输入序列1-9, 6      * 输出字典序排列          具体做法如下:          首先要将数组a从小到大排序,输出第一个排序,然后进入循环          先用getindex方法找到最靠后的,后面有比啊a[index]大的index,当index不存在设index=-1,结束循环。          然后从 index到end找出比a[index]大的数中最小的啊a[min].          将a[index]与a[min]交换,再将数组a从index到end排序,打印数组 7      */ 8     public static void getAllOrder(int[] a,int N){ 9         int end=N-1;10         int index=end;11         sort(a,0,N-1);12         System.out.println(Arrays.toString(a));13         do{14             index=getIndex(a,end);15             if(index==-1)break;16             int min=getMin(a,index,end);17             swap(a,index,min);18             sort(a,index+1,end);19             System.out.println(Arrays.toString(a));20         }while(index!=-1);21     }22     /**23      * @return 找出数组a中后续数字有比a[index]大的数字,且最靠后的index24      */25     public static int getIndex(int[] a,int end){26         for(int i=end-1;i>=0;i--){27             if(a[i]
1 public class Cao13 { 2  3     /** 4      * @输出数组全排列 5      */ 6     static int j=0; 7     static String s=""; 8     public static void mypermutation(int[] a,int begin,int end){     9         if(begin==end)10         {11             String temp="";12             for(int i=0;i

 

 

 

转载于:https://www.cnblogs.com/guizhongyi/p/4788668.html

你可能感兴趣的文章
深入理解脚本化CSS系列第四篇——脚本化样式表
查看>>
分镜头脚本
查看>>
ASP.NET中的cookie编程技术
查看>>
链表基本操作的实现(转)
查看>>
邮件发送1
查看>>
[转] libcurl异步方式使用总结(附流程图)
查看>>
编译安装LNMP
查看>>
git学习,git上建立自己的项目
查看>>
[转]基于display:table的CSS布局
查看>>
企业级 SpringBoot 教程 (二)Spring Boot配置文件详解
查看>>
crm 02--->讲师页面及逻辑
查看>>
Docker: 如何修改 Docker 的镜像存储位置
查看>>
AS3.0 Bitmap类实现图片3D旋转效果
查看>>
Eigen ,MKL和 matlab 矩阵乘法速度比较
查看>>
测试中的基本概念
查看>>
普通项目经理和资深项目经理的7大差距
查看>>
对象继承其他对象的方法和属性
查看>>
带三角的面包屑导航栏(新增递增数字)
查看>>
分享一段微信摇一摇代码,有兴趣的可以试一试
查看>>
Swift入门篇-闭包和函数
查看>>