class Sort
{
public static void main(String[] args)
{
System.out.print("/*************************************************\n\n"+
"File name: 软件设计课程设计基础题14(基础题14.java)\n\n"+
"Author: 计06-1 郭献铮 Date: 08.11.23\n\n"+
"Description: 递归与非递归判断数组是否从大到小排好序;\n\n"+
"Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明\n\n"+
"1.main()函数 完成各种提示与主操作输入输出\n\n"+
"2.f1()函数 非递归算法判断数组是否从大到小排好序;\n\n"+
"3.f2()函数 递归算法判断数组是否从大到小排好序;\n\n"+
"*****************************************************/\n\n");
System.out.print("请输入数组的长度:");
Scanner in=new Scanner(System.in); //创建一个数组来存放要比较的各个数;
int n=in.nextInt();
int[] a=new int[n];
for(int i=0;i<n;++i)
{
System.out.print("请输入第"+(i+1)+"个数:");
in=new Scanner(System.in);
a[i]=in.nextInt();
}
System.out.println();
System.out.println("采用非递归算法");
if(f1(a,n))System.out.println("已经从大到小递归排序");
else System.out.println("未从大到小递归排序");
System.out.println();
System.out.println("采用递归算法");
if(f2(a,n))System.out.println("已经从大到小递归排序");
原文请找腾讯752018766优,文-论'文.网http://www.youerw.com/ for(int j=0;j<i;++j)
if(a[i]>a[j])
return false;
return true;
}
static boolean f2(int[] a,int n) //递归算法的实现
{
if(n==1) return true;
if(n>1)
{
int min=a[0];
for(int i=1;i<n-1;++i)
if(a[i]<a[0])min=a[i];
if(a[n-1]>min)return false;
}
return f2(a,n-1);