目前对于数组的排序有主要的两种,一种是选择排序,一种是冒泡排序。当然大学学过数据结构的知道,还有一些其他的排序,这里就不说明了,有时间自己上网查查。其实排序在开发中并不常用,

我们学习它是学一种思想,以后的业务逻辑中可能会用到,可能会有相似的逻辑或者培养了我们这种思想,我们今后可以举一反三。不要为了题目而题目,说了一些题外话,不好意思,言归正传。

(1)选择排序(从小到大)

1)思想:选择排序,让数组中的每一个数,依次与后面的数进行比较,如果前面的数大于后面的数,就进行位置的交换。这种说法或许有些人看不明白。换个说法,选择排序:第一个数依次与

后面的数比较,第一次比较完之后最小的数在最前面 。

不理解的看看图应该就差不多了,真不明白就和明白的人讨论讨论吧。

2)代码

* 练习排序-选择排序
                  * @author Administrator
           
                                 //数组
                                 int[] arr = {5,3,7,2,6,7,6,5,4,1,9,8};
                                //第一次循环,是确定一个数依次和后面数的比较的数。
                                for (int i = 0; i < arr.length -1 ; i++) {
                                   //这个是和第一个数的比较的数
                                    for (int j = i+1; j < arr.length; j++) {
                                      //定义一个临时的变量,用来交换变量
                                       int temp ;  
                                       if(arr[i]>arr[j]){
                                            temp =  arr[i];
                                            arr[i] = arr[j];
                                            arr[j] = temp;
                                       }
                                   }
                                }
                        //打印最后的排序结果
                        alert(arr);
                         }
                }

(2)冒泡排序(从小到大)

1)思想:相邻两个数进行比较,第一波比较后,最大的数在最后。(每比较完之后,后面的数就减少一个比较 )

2)代码

* 练习排序--冒泡排序
           
                       //数组
                       int[] arr = {5,3,7,2,6,7,6,5,4,1,9,8};
                       //外部循环
                       for(int i=0;i<arr.length-1;i++){
                            //相连两个数的索引是利用内部循环
                            for(int index=0;index<arr.length-1;index++){
                            //同样利用中间变量,注意区分与选择排序的区分
                                 if(arr[index]>arr[index+1]){
                                     int temp=arr[index];
                                     arr[index]=arr[index+1];
                                     arr[index+1]=temp;
                                }
                           }
                       }
                        alret(arr);
                 }
             }

数组排序(冒泡、排序)相关推荐

  1. C语言 数组排序 – 冒泡法排序 - C语言零基础入门教程

    目录 一.简介 二.数组冒泡法排序原理 三.数组冒泡法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...

  2. C语言 数组排序 – 插入法排序 - C语言零基础入门教程

    目录 一.简介 二.数组插入法排序原理 三.数组插入法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...

  3. 【C 语言】二级指针作为输入 ( 指针数组 | 指针数组排序 | 字符串排序 | strcmp 函数 )

    文章目录 一.strcmp 函数 二.指针数组排序 ( 字符串排序 ) 二.完整代码示例 一.strcmp 函数 strcmp 是 String Compare 缩写 , 该函数用于比较两个字符串 ; ...

  4. 数据结构和算法-003 数组排序 选择排序

    选择排序 1选择排序编辑 思想 n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空. ②第1趟排序 在无序区R[1..n]中选出关键字 ...

  5. python对象数组排序,912. 排序数组(Python)

    难度:★★★☆☆ 类型:数组 方法:二分法 题目 力扣链接请移步本题传送门 更多力扣中等题的解决方案请移步力扣中等题目录 给你一个整数数组 nums,请你将该数组升序排列. 示例 1: 输入:nums ...

  6. 【Elasticsearch教程21】分页查询以及Array数组排序 nested排序 详细案例

    Elasticsearch 分页查询 排序 from size sort 一.分页查询 1. 基本概念 2. 避免深分页 二. 排序条件 1. 多字段排序 2. 在数组上排序 3. 在nested嵌套 ...

  7. python二维数组排序_Python排序多维数组

    我需要按照特定的元素对数组进行排序. This is an array:arr= [0, [71, 554, 258, 793]] [1, [61, 415, 148, 593]] [2, [91, ...

  8. C语言 数组排序 – 快速法排序 - C语言零基础入门教程

    目录 一.简介 二.数组快速法排序原理 三.数组快速法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...

  9. C语言 数组排序 – 选择法排序 - C语言零基础入门教程

    目录 一.简介 二.数组选择法排序原理 三.数组选择法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...

  10. 希尔排序法对一维数组排序

    希尔排序法对一维数组排序 希尔排序(缩小增量排序),首先将整个待排序的序列分割成若干子序列,分别直接插入排序,然后再对全体记录进行插入排序. using System; using System.Co ...

最新文章

  1. oracle 10.2 64位,Oracle 10.2.0.5 x64升级到11.2.0.3 x64
  2. springBoot(19):定时任务
  3. MVC 下 JsonResult 的使用方法(JsonRequestBehavior.AllowGet)转
  4. 64 大小_电脑系统32位和64位有什么区别
  5. c语言编写心理测试,求各位大神赐教!我做了一个“心理测试的答题卷”编程,总共有1...
  6. Yahoo Mail,慢功出细活〔转载〕
  7. 【CPLEX教程01】Cplex介绍,下载和安装Cplex
  8. 路飞学城Python-Day2
  9. Kibana关联ES查询数据
  10. Ht7038 三相电能计量芯片 测量6路电流。
  11. 常用商务英语词汇集锦(转载)
  12. 大数据面试题集锦-Hadoop面试题(一)
  13. 小技巧---网线线序,586B网线:橙白 橙,绿白 蓝,蓝白 绿,棕白 棕
  14. java读写Excel工具类
  15. SAP ABAP PA certification 培训笔记 part 4
  16. 使用R语言抓取A股股价数据
  17. UMEditor配置
  18. burpsuite爆破登陆密码
  19. 希沃集控系统流媒体服务器未开启,智慧校园:希沃集控,掌控信息化管理
  20. 服务器、网络、存储设备术语

热门文章

  1. 日志配置(springboot、mybatis、Lombok)
  2. 重装系统失败后怎么用好系统U盘启动解决?
  3. 【VBA编程】06.控制语句
  4. .net string format
  5. js中如果无法获取某个html属性,例如自定义了一个dir属性,但获取总是为空,尝试换个词,因为可能什么关键词冲突了。...
  6. C++ functor 仿函数
  7. android中绘图Paint.setAntiAlias()和Paint.setDither()方法的作用
  8. 前凸后翘的步进电机调速算法~
  9. SPI单片机发送ARM接收
  10. python标准库怎么用_Python常用标准库使用(一)