首页 > 编程知识 正文

快速排序的非递归算法,用递归的方法排序

时间:2023-05-04 02:33:59 阅读:55605 作者:1852

已实现功能3360输入任意长度的字符串,要转换为char型数组,必须在abc中输入安装功能:char型数组中的示例字符排序输出:排序后输出abc、acb、bac、cab、bca、cba .

已实现的功能:输入任意长度的字符串,变换为char型数组

安装功能:对char型排列内的字符进行排序并输出

示例需要输入:abc,并在排序后输出ABC、acb、bac、cab、bca和cba

char型数组中存储了abcacbbaccabbcacba,初始化了18个字符,下标0-17,堆栈无法从堆栈中出来。

方法原形: publicvoidpernute (char [ ] str,int pos,int length );

char型数组str、位置变量pos、长度变量length。

类测试{

publicvoidpernute(stringstr ) {

char a[]=str.toCharArray (;

int f=1,count=1;

for (; f=a.length; f ) {

count=f * count; //count存储需要排序次数

}

charb [ ]=new char [ count * a.length ]; //定义数组长度:排序次数乘以输入的字符数

for(intk=0; 凯. length; k ) {

b[k]=a[k]; 将//a的中央值初始化为b。 这是因为a的长度与输入的字符数相等

}

pernute(b,0,a.length );

int i=0;

for(intj=0; j count; j ) {

for (; i a.length; I ) {

系统. out.print (b [ I ];

}

System.out.println (' ';

//此FOR嵌套排序后的字符,并一次换行

}

publicvoidpernute(char[]str,int pos,int length ) )。

//这里用递归的方法对数组进行排序和填充

}

publicstaticvoidmain (string args [ ] ) {

字符串temp=args [0];

new Test ().pernute ) ) temp;

}

}

对不起

原题要求多态实现.

我也没办法啊.

想不出递归调用的规律

也请大家协助

展开

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。