java选择排序使用swap()函数出现数组越界报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

java选择排序使用swap()函数出现数组越界报错

2016-03-19 15:28:37 1855 1
 class SelectSort{
    public static void Swap(int[] arr,int i,int j){
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

    public static void PrintArray(int[] Array){
        for(int i=0;i<Array.length;i++){
            System.out.print(" "+Array[i]);
        }
    }

    public static void SelectSort(int[] arr){
        for(int i=0;i<arr.length-1;i++){
            for(int j=i+1;j<arr.length;j++){
                if(arr[i]>arr[j]){                  
                    Swap(arr,arr[i],arr[j]);
                }               
            }
        }
    }

    public static void main(String[] args){
        int[] arr = {9,2,8,13,22,1};
        SelectSort(arr);
        PrintArray(arr);
    }   
}
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 19:08:18
    Swap(arr,i,j);
    
    在有你的选择排序思想用的不对
    (1):将序列分成有序区和无序区,初始时有序区为空,无序区包括全部元素
    (2):每次从无序区中选择最小的元素将其与无序区第一个元素进行交换
    (3):重复(2),直到无序区没有元素
    public static void selectSort(int[] arr){
    int tmp = 0; 
    int index = 0;
    for(int i = 0 ; i < arr.length ; i ++){
    index = i;
    //查找[i...length]中的最小值
    for(int j = i + 1; j < arr.length; j ++){
    if(arr[index] > arr[j]){
    index = j;
    }
    }
    //最小元素不是本身
    if(index != i){
    tmp = arr[index];
    arr[index] = arr[i];
    arr[i] = tmp;
    }
    }
    }
    0 0
相关问答

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144734浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226163浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337017浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 142461浏览量 回答数 13

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295560浏览量 回答数 110

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147244浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646804浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146045浏览量 回答数 31

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 137003浏览量 回答数 42

10

回答

[@墨玖tao][¥20]为什么流式处理框架都是 java 写成的,JVM 是不是在流和批存在着特殊优势。还有分布式资源调度,感觉Mesos 的成长速度跟不上 Yarn。这是为什么?

管理贝贝 2018-10-23 13:18:03 136470浏览量 回答数 10
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载