毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

java计算一整数组前n项是否按降序排列

更新时间:2011-5-12:  来源:毕业论文

java计算一整数组前n项是否按降序排列
需求分析
编写具有如下函数原型的递归与非递归两种函数f,负责判断数组a的前n个元素是否从大到小完全有序了;
输入的形式:任意一个数组的数值;
输出值范围及其形式:返回数组是否已经排好了序;
程序所能达到的功能:判断数组是否从大到小排序;
测试的数据:
5.2  概要设计
本题的主要思路:首先分别构造一个递归与非递归算法的函数,通过这两个函数判断所输入的数组是否按从大到小排序。是返回true,否则返回false。
5.3  详细设计与编码
见源程序
5.4  调试分析
调试过程中,递归算法比较简单,而非递归得把原问题分解成若干个相同功能的小问题来求解。要体现递归算法的思想。
5.5  用户使用说明
用户根据程序的提示输入适当的值。
5.6  测试数据
     5.7  设计心得
通过此次实验,我或许对递归算法有了一定的了解,因为以前学C语言的时候,对递归算法的实现过程总有点模糊,但通过这个自己编的例子,我对递归算法有了一定的认识,同时也提高了我对编程的热爱。
import java.io.*;
import java.util.*;

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("已经从大到小递归排序");
  else System.out.println("未从大到小递归排序");
 }
 
 static boolean f1(int[] a,int n)  //非递归算法的实现
 {
  for(int i=0;i<n;++i)
   for(int j=0;j<i;++j)
原文请找腾讯752018766优,文-论'文.网http://www.youerw.com/ 的实现
 {
  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);

java计算一整数组前n项是否按降序排列下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。