`
robinham2006
  • 浏览: 1062 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

谢谢各位

阅读更多

import javax.swing.JOptionPane;

class heapsort
{
   public static int size; //matrix size
  
   public static int heap_size; //heap size 
 
  public int left(int i)  //look for left child
  {
    return 2*i;  
  }
 
  public int right(int i) //look for right child
  {
    return 2*i+1; 
  }
  //keep the property of heap
  public void maxHeapify(int A[],int i) //A matrix; i current node code
  {
    int l,r,largest;
    int temp;
    l=left(i);
    r=right(i);
    if((l<= heap_size)&&( A[l] > A[i]))
       largest=l;
    else largest=i;
    if((r<=heap_size)&&(A[r] > A[largest]))
       largest=r;
    if( largest!=i)
     {
       temp=A[i];
       A[i]=A[largest];
       A[largest]=temp;
     } 
     maxHeapify(A, largest);
  }
 
  //build a heap
  public void buildHeap(int A[])
  {
    int i;
    heap_size=A.length;
    for(i=A.length/2;i>=1;i--)
           maxHeapify(A, i);
  }
 
  //heapsort algorithm
  public void heapSort(int A[])
  {
    int i,temp;
    buildHeap(A);
    for(i=A.length/2;i>=2;i--)
    {
      temp=A[1];
      A[1]=A[i];
      A[i]=temp;
    }
    heap_size=heap_size-1;
    maxHeapify(A, 1);
  }
 
  public static void main(String args[])
  {
   size= Integer.parseInt( JOptionPane.showInputDialog(null,"请输入数组的大小,size:") ); 
    int seq[]=new int[size];
    for(int i=0;i        seq[i]=Integer.parseInt( JOptionPane.showInputDialog(null,"请依次输入数组的元素,seq["+i+"]=") );
    System.out.print("以下为您输入的数组元素:");
    System.out.println("");
    for(int i=0;i         System.out.print(seq[i]+" ");
       
    heapsort heap=new heapsort();
    heap.buildHeap(seq);  
    heap.heapSort(seq); 
  }

}

该程序是我做的一个heapsort,编译通过,但是执行时说是数组越界,请指点迷津,谢谢!!!

 


class TimeTable
{
 
 
  public static int order; // the orders of 2;
 
  public static int num; // the whole number,num=the ith order of 2;
 
 int table[][]=new int[num][num];
 
 //构造方法,初始化
 public TimeTable()
 {
 
  int i,j;
  for(i=0;i   {
   for(j=0;j    {
    table[i][j]=0;
   }
  }
 }
 //核心算法
 void Table(int k)
  {
   
    int n=1;
    for(int i=1;i<=k;i++)
        n*=2;   //n=2^k
    for(int i=1;i<=n;i++)
        table[1][i]=i; // the elements of 1st row of the table is given
   
   int m=1;
   
    for(int s=1;s<=k;s++)
    {
      n/=2;
     
     for(int t=1;t<=n;t++)
      {
        for(int i=m+1;i<=2*m;i++)
        {
          for(int j=m+1;j<=2*m;i++)
          {
           table[i][j+(t-1)*m*2]=table[i-m][j+(t-1)*m*2-m];
           table[i][j+(t-1)*m*2-m]=table[i-m][j+(t-1)*m*2];
          }
         
        }
     
      }
      m*=2; 
    }
    
  }
 

 void display()
 {
  int i,j;
  for(i=1;i   {
   for(j=1;j    {
    if(table[i][j]<10)
    System.out.print("   "+table[i][j]);
    else
    System.out.print("  "+table[i][j]);
   }
   System.out.println("");
  }
 }
 
 
 public static void main(String args[])
 {
  
  
   order = Integer.parseInt( JOptionPane.showInputDialog(null,"输入人数,2的k次方 k=\n") ); 
   num=(int)Math.pow(2,order);
   num++; //数组默认下标从0开始,因此加大数组
  
   System.out.print("num is "+num+"         ");
   System.out.print("order is "+order);
   
   System.out.println("");
  
   TimeTable TT=new TimeTable();
  
   TT.Table(order);
  
   TT.display();
 }
}

 

出现的问题同上,还是数组越界!!!

搞不懂是在调用算法函数过程中出现了什么问题!!

本人刚学java,还请指点一二!!

分享到:
评论

相关推荐

    数据库(2008)谢谢各位大虾了

    数据库是存储和管理信息的核心工具,特别是在企业级应用中,其稳定性和性能至关重要。Microsoft SQL Server 2008(简称MS SQL 2008)是微软公司推出的一款关系型数据库管理系统,它在2008年发布,提供了一系列增强的...

    himix200 hi3516 交叉编译链 下载地址 谢谢各位贡献者

    himix200 hi3516 hisi

    三子棋源码,用于学习交流,谢谢各位的支持 你们的支持就是我更新的动力!

    三子棋源码

    简单的asp.net三层例子供大家学习有什么不对的指出来谢谢各位

    ASP.NET是一种由微软开发的用于构建Web应用程序的框架,它基于.NET Framework,提供了一套强大的工具和服务,使得开发者能够高效地构建动态、交互式的Web应用。在这个“简单的asp.net三层例子”中,我们将会探讨ASP...

    本地时间校准工具.zip

    谢谢各位支持,电脑时间老是变动,用这个就完全解决了,很好用的工具,分享给大家。需要的放心下载吧!谢谢各位支持电脑时间老是变动,用这个就完全解决了,很好用的工具,分享给大家。需要的放心下载吧!谢谢各位支持...

    解决DelphiTMenuItem的Hint属性不能用的单元

    此文件是一个单元,主要解决TMenuItem的下拉菜单,也就是PopupMenu的Hint属性不管用的问题。 使用方法:下载此单元文件,然后复制到你的项目中,在需要实现功能...leandzgc@gmail.com或406163956@qq.com谢谢各位大侠。

    JAVA Swing 编写的一个五子棋游戏

    这是一个我自己为师弟师妹们所做的一个简单学习程序,这个程序中主要只实现了五子棋的绘制,点击鼠标下棋,判断输赢算法功能。因为,是学习用程序,在程序中还存在很多BUG,同时还有诸多功能未开发。...谢谢各位支持!

    系统架构设计师2009~2017历年真题(综合知识+案例分析)及详细答案解析,作者已通过。

    此资源不需要积分,直接到作者的Github下载即可,课程资源满意的话在Github给作者点一下star就行,网址为https://github.com/xxlllq/2018_system_architect,谢谢各位,欢迎各位分享给其他需要此课程资源的朋友。...

    王养成MBA讲课资料(2009)

    谢谢各位顶一下 顶 西安交通大学研究生课程考试成绩登记表 西安交通大学研究生课程考试成绩登记表 西安交通大学研究生课程考试成绩登记表 西安交通大学研究生课程考试成绩登记表 西安交通大学研究生课程考试成绩...

    Matlab神经网络的遗传算法-遗传算法神经网络.rar

    Matlab神经网络的遗传算法-遗传算法神经网络.rar 论坛里很多人问到了遗传算法优化神经网络的问题。但都没得到很好的解答,这是别人硕士论文里的源代码的。现在我把代码传上来,给...谢谢各位了! 尤要谢谢“书童”!

    lighttpd-1.4.20源码分析

    预计总共将有15个左右PDF文件发上来 谢谢各位支持 各基本数据结构的分析整理倒是基本完了 但是lighttpd源码最核心的东西(比如配置信息的加载 比如对客户请求访问的响应 等) 我还没整理完 呵呵 未完 请继续关注

    Unity2017 TimeLine的学习案例工程包下载地址以及密码

    这个资源我应该卖2分,我发现编辑无法修改!!还请审核人员帮忙修改为2分.然后把这句话删除了.谢谢... 这个工程包对于想学习Unity2017 TimeLine功能的朋友们来说是个很好的学习案例!...谢谢各位的支持.

    未解决如何使用MATLAB发一条微博-twitter.rar

    未解决如何使用MATLAB发一条微博-twitter.rar 本帖最后由 jinkeluck 于 2013-4-1 09:33 编辑 看到论坛上有人用MATLAB发邮件,我突发奇想,能不能用MATLAB发送一条新浪微博呢。...再次谢谢各位看帖的同学。

    一个用foxpro编写人事管理系统

    这是作者在工作之余为公司编写的人事管理系统。 虽说这个系统的核心部分——人事管理模块尚未完工,但我在多用户管理和权限分配上却花了...最后是谢谢各位使用我的程序(不要告诉微软我使用的是D版的VFP8.0!呵呵)。

    基于SpringBoot+微信小程序的智能宿舍管理系统

    本系统采用了前后端分离的开发模式,是一个软硬件结合的系统,系统功能完善,有兴趣的小伙伴可以查看,有部署问题可以私聊我,免费解答,谢谢各位支持。 资源包中包含了SpringBoot、Vue和微信小程序的源码,大家...

    ROM分解合并工具合集——NBH、BIN、IMG、SBF格式ROM分解(手机系统制作)工具

    【谢谢各位的捧场-由于部分朋友们想要个这个的视频教程-我最近上班太忙了-求助下各位先人们帮忙录制下视频上传-土豆或优酷 微笑再次感谢了!】 {另外:本软件正在改版-软件化-让大家可以以图形化界面编译-操作更...

    简单的基于Simulink定速巡航系统模型

    记得以前发过汽车定速巡航相关内容的文章,那时候没想到附上相关的模型,这个模型相对简单...小罗哥的初心是把这些东西上传保存,同时如果大家有需要可以下载,如果有不足之处大佬们可以积极批评指正,谢谢各位的支持。

    轻量级Java EE企业应用实战(第三版)源代码

    李刚老师的《轻量级Java EE企业应用实战(第三版)的源代码。由于本书的源代码共有374M,所以我只能分为几部分来上传。请大家支持我一下,多下载多的资源,...谢谢各位! 先上传第一、二、五、六、七、九、十单的源代码。

    html、JS获取移动设备标识信息(适用于投票)

    由于现在隐私保护问题,不允许获取设备的IMEI和MAC地址,因此找出来这么一个方案,适用于做各种投票时获取设备的标识信息,虽然不具有绝对的唯一性,...现贡献出来,只为换点C币,供我下载点别的资源,谢谢各位捧场。

    数据科学-机器学习-WiFi定位系统的位置预测(k近邻与加权k近邻)

    案例包括R语言程序调试、开发文本数据处理与挖掘的函数、各种可视化图集(具体可参考博客中展示的一部分)、k近邻与加权k近邻、最终的模型预测。 数据量为140多万记录,针对不同的预测变量进行了汇总,...谢谢各位支持!

Global site tag (gtag.js) - Google Analytics