数组排序(冒泡、排序)
目前对于数组的排序有主要的两种,一种是选择排序,一种是冒泡排序。当然大学学过数据结构的知道,还有一些其他的排序,这里就不说明了,有时间自己上网查查。其实排序在开发中并不常用,
我们学习它是学一种思想,以后的业务逻辑中可能会用到,可能会有相似的逻辑或者培养了我们这种思想,我们今后可以举一反三。不要为了题目而题目,说了一些题外话,不好意思,言归正传。
(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);
}
}
数组排序(冒泡、排序)相关推荐
- C语言 数组排序 – 冒泡法排序 - C语言零基础入门教程
目录 一.简介 二.数组冒泡法排序原理 三.数组冒泡法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...
- C语言 数组排序 – 插入法排序 - C语言零基础入门教程
目录 一.简介 二.数组插入法排序原理 三.数组插入法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...
- 【C 语言】二级指针作为输入 ( 指针数组 | 指针数组排序 | 字符串排序 | strcmp 函数 )
文章目录 一.strcmp 函数 二.指针数组排序 ( 字符串排序 ) 二.完整代码示例 一.strcmp 函数 strcmp 是 String Compare 缩写 , 该函数用于比较两个字符串 ; ...
- 数据结构和算法-003 数组排序 选择排序
选择排序 1选择排序编辑 思想 n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空. ②第1趟排序 在无序区R[1..n]中选出关键字 ...
- python对象数组排序,912. 排序数组(Python)
难度:★★★☆☆ 类型:数组 方法:二分法 题目 力扣链接请移步本题传送门 更多力扣中等题的解决方案请移步力扣中等题目录 给你一个整数数组 nums,请你将该数组升序排列. 示例 1: 输入:nums ...
- 【Elasticsearch教程21】分页查询以及Array数组排序 nested排序 详细案例
Elasticsearch 分页查询 排序 from size sort 一.分页查询 1. 基本概念 2. 避免深分页 二. 排序条件 1. 多字段排序 2. 在数组上排序 3. 在nested嵌套 ...
- python二维数组排序_Python排序多维数组
我需要按照特定的元素对数组进行排序. This is an array:arr= [0, [71, 554, 258, 793]] [1, [61, 415, 148, 593]] [2, [91, ...
- C语言 数组排序 – 快速法排序 - C语言零基础入门教程
目录 一.简介 二.数组快速法排序原理 三.数组快速法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...
- C语言 数组排序 – 选择法排序 - C语言零基础入门教程
目录 一.简介 二.数组选择法排序原理 三.数组选择法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...
- 希尔排序法对一维数组排序
希尔排序法对一维数组排序 希尔排序(缩小增量排序),首先将整个待排序的序列分割成若干子序列,分别直接插入排序,然后再对全体记录进行插入排序. using System; using System.Co ...
最新文章
- oracle 10.2 64位,Oracle 10.2.0.5 x64升级到11.2.0.3 x64
- springBoot(19):定时任务
- MVC 下 JsonResult 的使用方法(JsonRequestBehavior.AllowGet)转
- 64 大小_电脑系统32位和64位有什么区别
- c语言编写心理测试,求各位大神赐教!我做了一个“心理测试的答题卷”编程,总共有1...
- Yahoo Mail,慢功出细活〔转载〕
- 【CPLEX教程01】Cplex介绍,下载和安装Cplex
- 路飞学城Python-Day2
- Kibana关联ES查询数据
- Ht7038 三相电能计量芯片 测量6路电流。
- 常用商务英语词汇集锦(转载)
- 大数据面试题集锦-Hadoop面试题(一)
- 小技巧---网线线序,586B网线:橙白 橙,绿白 蓝,蓝白 绿,棕白 棕
- java读写Excel工具类
- SAP ABAP PA certification 培训笔记 part 4
- 使用R语言抓取A股股价数据
- UMEditor配置
- burpsuite爆破登陆密码
- 希沃集控系统流媒体服务器未开启,智慧校园:希沃集控,掌控信息化管理
- 服务器、网络、存储设备术语
热门文章
- 日志配置(springboot、mybatis、Lombok)
- 重装系统失败后怎么用好系统U盘启动解决?
- 【VBA编程】06.控制语句
- .net string format
- js中如果无法获取某个html属性,例如自定义了一个dir属性,但获取总是为空,尝试换个词,因为可能什么关键词冲突了。...
- C++ functor 仿函数
- android中绘图Paint.setAntiAlias()和Paint.setDither()方法的作用
- 前凸后翘的步进电机调速算法~
- SPI单片机发送ARM接收
- python标准库怎么用_Python常用标准库使用(一)