数组倒置? 算法问题大家多多支持

newsea008 2005-08-05 02:18:34
问题如下:
定义一个整型数组 int[] b = new int[n],把数组中的数据倒置,
b[0] = b[n-1]
b[1] = b[n-2]
b[2] = b[n-3]
... = ...
b[n-1] = b[0]
如何实现,请大家给个好的算法。谢谢!
...全文
159 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lancelobb 2005-08-07
  • 打赏
  • 举报
回复
笑话,我最先给出思路,虽然没给具体代码,却半分没有
HaiSenLing 2005-08-05
  • 打赏
  • 举报
回复
我的想法和楼上的一样
dechon 2005-08-05
  • 打赏
  • 举报
回复
如果空间允许,可以建一个Stack,借助于Stack的后进先出的特性来实现。
rower203 2005-08-05
  • 打赏
  • 举报
回复
public static int[] reverseInt(int[] a){
for(int i = 0;i <(a.length) / 2; i++)
{
int tmp =a[i];
a[i]=a[a.length - i- 1];
a[a.length - i - 1] = tmp;
}
return a;
}

public static void main(String[] arg)
{
int[] a = {1,2,3,4,5,6,7,8};
int[] b= reverseInt(a);
for(int i=0;i<b.length;i++){
System.out.print(b[i]);
}
System.out.println();
int[] c = {1,2,3,4,5,6,7,8,9};
b= reverseInt(c);
for(int i=0;i<b.length;i++){
System.out.print(b[i]);
}
}
interhanchi 2005-08-05
  • 打赏
  • 举报
回复
import java.util.*;
class A{
public static void main(String[] args){
int[] a ={1,2,3,4,5};
int[] b =new int[5];
for(int i=a.length-1,j=0;i>=0;i--,j++){
b[j]=a[i];
}
System.arraycopy(b,0,a,0,5);
System.out.println(Arrays.toString(a));
}
}
dxj1234 2005-08-05
  • 打赏
  • 举报
回复
可不可以全部倒序复制到另一个地方,再拷回呢?
哪个更快些?
sxp236 2005-08-05
  • 打赏
  • 举报
回复
public class arrys
{
public static void main(String[] arg)
{
int[] a={1,2,3,4,5};
int b;
for(int i=0;i<5;i++)
{
System.out.print(a[i]);
}
for(int j=0;j<(a.length)/2;j++)
{
b=a[j];
a[j]=a[4-j];
a[4-j]=b;
}
for(int t=0;t<5;t++)
{
System.out.print(a[t]);
}
}
}
lancelobb 2005-08-05
  • 打赏
  • 举报
回复
简单的就利用一个中间变量逐个调换n-1,0;n-2,1;...n-r,r-1;(r=1,2,...(int)2/n)
效率也不低了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧