数组排序-冒泡排序和选择排序
面试有可能会被问到
一:冒泡排序
相邻两个数据进行比较
需要注意的点:内部循环的话,只能比较到未确定的最后一个数据为止(arr.length-1-i)
for(int i=0;i<arr.length-1;i++){for(int j=0;j<arr.length-1-i;j++){if(arr[j]>arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}
}
二:选择排序
将当前位置的数据作为最小值,依然和后面的数据进行比较,如果还有更小的,记录下坐标,直到循环结束
如果确实有更小的,就将位置进行互换
注意点:minIndex=j
for(int i=0;i<arr.length-1;i++){minIndex=i;for(int j=i+1;j<arr.length;j++){if(arr[minIndex]>arr[j]){minIndex=j;}if(minIndex!=i){temp=arr[i];arr[i]=arr[minIndex];arr[minIndex]=temp;}}
}
数组排序-冒泡排序和选择排序相关推荐
- c语言排序需要插空的最小次数,C语言数组排序——冒泡排序、选择排序、插入排序...
一.冒泡排序 原理解析:(以从小到大排序为例)在一排数字中,将第一个与第二个比较大小,如果后面的数比前面的小,则交换他们的位置. 然后比较第二.第三个--直到比较第n-1个和第n个,此时,每一次比较都 ...
- 浅谈排序算法:冒泡排序法和选择排序法的区别
之前学习了冒泡排序法和选择排序法,最近被老师问某个道题用的是什么排序法.自己居然答不出来,才发现自己没有真正弄懂,这两个算法的原理和区别,所以····· 1冒泡排序法 1.1什么是冒泡排序法? 顾名思 ...
- 冒泡排序和选择排序的不同
文章目录 对比图 冒泡排序的定义 选择排序的定义 冒泡排序和选择排序的主要区别 结论 参考文档 排序是计算机程序中的主要任务之一,数组的元素按特定顺序排列.排序使搜索更容易.冒泡排序和选择排序 ...
- 算法与数据结构(冒泡排序,选择排序和插入排序的总结)
冒泡排序,选择排序和插入排序的总结 在规模较小时,或者元素的有序性较高时,插入排序的时间复杂度可以接近 O(n) ,是上述三种排序里表现最好的 一.通过表格我们可以发现,冒泡排序的时间复杂度是要优于选 ...
- JavaSE(二十四)——冒泡排序、选择排序、直接插入排序以及二分查找
文章目录 1. 冒泡排序 2. 选择排序 3. 直接插入排序 4. 二分查找 1. 冒泡排序 原理:数组元素两两比较,大的往后放,经过一轮比较后,最大元素在最后面,如此往复. 举例说明: 代码: // ...
- 冒泡排序、选择排序和插入
冒泡排序.选择排序和插入排序代码如下: package cn.luxh.app.test;public class SimpleSortUtil {/*** 冒泡排序* 从小到大排序* 思路:* 1) ...
- C语言排序(桶排序,冒泡排序,选择排序,插入排序,快速排序)
参考:C语言五大排序(桶排序,冒泡排序,选择排序,插入排序,快速排序)动态演示 作者:一只青木呀 发布时间: 2020-09-09 20:18:43 网址:https://blog.csdn.net/ ...
- 掌握常见的内部排序方法(插入排序,冒泡排序,选择排序,快速排序,堆排序,希尔排序,归并排序,基数排序等)...
掌握常见的内部排序方法(插入排序,冒泡排序,选择排序,快速排序,堆排序,希尔排序,归并排序,基数排序等). 数组高级以及Arrays(掌握) 排序方法 空间复杂度 时间复杂度 稳定性 插 入 排 序 ...
- 冒泡排序和选择排序区别_你以为只是简单的排序?(一)
一直在犹豫要不要写排序的文章,因为真的烂大街了.可是一旦细看,还真是很多值的思考的地方,所以还是选择记录一下 以下完整代码,均可从这里获取 https://github.com/Rain-Life/d ...
- Python排序算法(一)冒泡排序、选择排序、插入排序
今天总结一下Python中的排序算法.这篇文章有的排序算法是:冒泡排序.选择排序.插入排序. 冒泡排序 先看一下代码. ''' 冒泡排序 '''def bubble_sort(aList):n = l ...
最新文章
- 在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录
- 【约束布局】ConstraintLayout 13 种相对定位属性组合 ( 属性组合 | 用法说明 )
- 浙江大学计算机保研条件_看了就想录取的简历长啥样?保研简历千万别踩这些坑!...
- IntelliJ IDEA 超实用技巧分享,不能再全了!
- c++ vector 赋值_C++中vector用法
- 【linux】学习2
- 为什么使用HashMap需要重写hashcode和equals方法_不同时重写equals和hashCode又会怎样?听听过来人的经验...
- 人机交互,加速机器人拟人化
- uni-app获取当前具体日期时间并将其格式化
- Template Power
- 基于微信小程序的智能推荐点餐系统(附全部代码)
- Java菜鸟教程 一些简单的练习
- 《Linux运维实战:免费md5解密工具》
- cass道路设计教程_cass道路曲线设计
- python实现坐标求取_根据相机位姿求指定点的世界坐标及其python实现
- BUU MISC(5_10-5_14)
- 虚拟主机终极选购指南
- 动态海报,一次 Computational Design 实验
- 全球时间与北京时间、UTC时间关系表
- 解决U盘使用DVD镜像安装Fedora15需要联网的问题