首页 新闻 搜索 专区 学院

冒泡法排序时遇到的方法调用问题

0
[已解决问题] 解决于 2017-06-09 18:20

红框内程序不作为是什么原因;

换成绿框能正常运行。方法调用哪出错了;

 

 

夏天不吃盐的主页 夏天不吃盐 | 菜鸟二级 | 园豆:202
提问于:2017-06-08 14:20
< >
分享
最佳答案
-1

我是写java的,这个排序主要是改变str数组结构,但是这str[]是个局部变量,你写的swap方法根本调用不到str,只是单纯的对数字进行排序,方法是执行了,但是str内部还是没有改变的

奖励园豆:5
大宇007 | 菜鸟二级 |园豆:331 | 2017-06-09 11:53

哦,知道了,谢谢。

夏天不吃盐 | 园豆:202 (菜鸟二级) | 2017-06-09 18:19
其他回答(5)
0

这应该是选择排序吧

yjhlsbn | 园豆:219 (菜鸟二级) | 2017-06-09 02:23

啊呀,确实

支持(0) 反对(0) 夏天不吃盐 | 园豆:202 (菜鸟二级) | 2017-06-09 18:17
0

我是搞c/c++的,看到这个swap立马精神,c++语言版本swap:

void swap(int& a,int& b){

  a=a^b;

  b=a^b;

  a=a^b;

}

哈哈

java中应该可以采用传个数组和两个下标的方式。希望传进去的数组不是备胎...

Cloogo | 园豆:301 (菜鸟二级) | 2017-06-09 10:13
0

你传的值,当然无法更改数组地址内的成员的值

java也传不了地址,想其他办法吧

兰冰点点 | 园豆:396 (菜鸟二级) | 2017-06-09 11:29
0

你把两个值交换没有任何意义,你要改变数组的结构,必须要把数组也传进去

Java丨Mr.Chen | 园豆:208 (菜鸟二级) | 2017-06-09 15:50
0

当你调用swap方式时,两个数是采用的值传递,值传递只在方法内有效,对方法外的数据不做改变,相当于此时额外创建了一块内存为你传过去的两个值进行交换,但实质上原来的数并没有改变.java中的基本类型和String类型都采用值传递.

墨倾辰 | 园豆:228 (菜鸟二级) | 2017-06-12 20:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册