用java语言 在已有的数组中插入数字用递归方法实现,原来数组里面数的顺序不变

我自己学了一个可是有错希望大伙给帮个忙改改,classdiguichashu{publicstaticvoidmain(String[]args){inttemp[]=n... 我自己学了一个可是有错 希望大伙给帮个忙改改,
class diguichashu
{
public static void main(String[] args)
{
int temp[]= new int[5];
temp[0]=1;
temp[1]=2;
temp[2]=3;
temp[3]=4;
int key=1,value=5,size=4;//key是插入数的位置,value是插入的数,size是数组的下标
System.out.print("yuan shi sun xu wei: ");
for(int i=0;i<temp.length;++i)
System.out.print(" "+temp[i]);
insert(temp,key,value,size);
System.out.print("\rhou lai de sun xue wei:");
temp[key]=value;
for(int i=0;i<temp.length;++i)
System.out.print(" "+temp[i]);
}

public static void insert(int temp[], int key, int value, int size)
{

if(key==size)
temp[key]=value;
else
{
temp[size]=temp[size-1];
--size;
}
}
}
展开
 我来答
_星星星星
2012-03-15
知道答主
回答量:6
采纳率:0%
帮助的人:6.2万
展开全部

把你的INSERT方法改下,运行结果是

public static void insert(int temp[], int key, int value, int size)

{  

  

  if(key==size)

    temp[key]=value;

     else

      { 

      for(int i=size;i>=key;i--)

        temp[i]=temp[i-1];

        

      }   

}

}

更多追问追答
追问
这样 还算是递归吗?
追答
你这里不符合递归思想:一般这三种情况用递归(1)数据形式是递归的如:求阶成(2)子问题与父问题具有相似性如求棋盘覆盖问题(3)数据结构是递归的如深度搜索树图。所以不用递归,用迭代只来实现后序数据移这一个动作
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式