冒泡排序法和选择排序法
冒泡排序法(算法):
①.比较相邻的元素。如果第一个比第二个大,就交换它们两个;
②.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
③.针对所有的元素重复以上的步骤,除了最后一个;
重复步骤1~3,直到排序完成。
public class TestArraySort1{public static void main(String[] args){int[] a = {9,8,6,1,4};/*i i+1a[0] a[1]a[1] a[2]a[2] a[3]a[3] a[4]*//*每一轮的比较次数 + 第几轮 = 数组长度每一轮的比较次数 = 数组长度 - 第几轮*/for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println(); for(int j=1;j<a.length;j++){ //N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次, for(int i=0;i<a.length-j;i++){ //所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数if(a[i]>a[i+1]){int temp = a[i];a[i] = a[i+1];a[i+1] = temp;}}}for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}}
}
选择排序法思想:
从数组中找到最小的元素,和第一个位置的元素互换。 从第二个位置开始,找到最小的元素,和第二个位置的元素互换。 … 直到选出array.length-1个较小元素,剩下的最大的元素自动排在最后一位。
public class TestArraySort2{public static void main(String[] args){int[] a = {9,8,6,1,4};/*i j=i+1 j++ j++ j++ a[0] vs a[1] a[2] a[3] a[4]a[1] vs a[2] a[3] a[4]a[2] vs a[3] a[4]a[3] vs a[4]*/for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println();for(int i=0;i<a.length-1;i++){for(int j=i+1;j<a.length;j++){if(a[i]>a[j]){int temp = a[i];a[i] = a[j];a[j] = temp;}}}for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}}
}
冒泡排序法和选择排序法相关推荐
- 总结c语言基础算法——冒泡排序法和选择排序法
1.首先无论何种排序方法其最终目的是按要求将所给数据进行排序.而在C语言中可以有很多排序的方法,这里着重介绍的是常用的较为基础和重要的算法--冒泡排序法和选择排序法. 下面将举一个例子进行讲解: 要求 ...
- 浅谈排序算法:冒泡排序法和选择排序法的区别
之前学习了冒泡排序法和选择排序法,最近被老师问某个道题用的是什么排序法.自己居然答不出来,才发现自己没有真正弄懂,这两个算法的原理和区别,所以····· 1冒泡排序法 1.1什么是冒泡排序法? 顾名思 ...
- 冒泡排序法和选择排序法比较(从小到大,升序)
1.冒泡排序法 冒泡法的基本思想为将相邻的两个数进行比较,并且将较大的数赋值给后面的数.(可以看做将较大的数沉底.) 举个例子,现在我们有5个数,即3 ,7,2 , 1, 5.现在我们需要用冒泡法将它 ...
- 使用策略模式的设计方式来实现对数组的排序,提供两种具体的实施策略,冒泡排序法和选择排序法
package com.Arrays;public interface ArraysSort {public abstract int[] sort(int [] arr); }package com ...
- C语言冒泡法和选择排序法
C语言冒泡法和选择排序法 1.冒泡法代码 #include<stdio.h> int main() {int a[3];int p,i,tmp;for(i=0;i<3;i++)sca ...
- c语言函数调用排序用插入法,C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法,插入排序)...
任务代码: 二分查找数组的一个数字:(函数法) #include int binarySearch(int a[],int len,int key) { int low=0,high=len-1,mi ...
- 在c语言中用冒泡法比较大小,c语言大小排序,用冒泡法和选择排序法
满意答案 先上选择法和冒泡法: 1.选择法 #include void main() { int i,j,min,temp; int a[10]; printf("请输入十个整数:" ...
- C——用冒泡排序法、选择排序法对随机输入的10个整数从小到大排序
//冒泡排序法 #include <stdio.h> int main() {int i,j,t,a[10];for(i=0;i<10;i++){scanf("%d&quo ...
- 经典算法之冒泡排序法与直接选择排序法
活动地址:21天学习挑战赛 文章目录 一.冒泡排序法 1.基本思想 2.算法步骤 3.代码实践 4.复杂度分析 二.直接选择排序法 1.基本思想 2.算法步骤 3.代码实践 4.复杂度分析 一.冒泡排 ...
最新文章
- 技术人如何搭建自己的技术博客
- aspose java_Aspose.Cells for Java
- 3种纯CSS实现中间镂空的12色彩虹渐变圆环方法
- 牛客网【每日一题】5月18日 「土」秘法地震
- 使用Docker启动Grafana环境
- python线程按照顺序执行_Python3多线程之间的执行顺序问题
- 通过方法将汉字转成拼音
- 安装activex手机控件_86/BRZ 免“油饼”安装 Defi 机油压力表
- 【有关数据库的问题】运行时错误‘3706’:未找到提供程序。该程序可能未正确安装。
- Spring IOC源码分析
- 不禁网页的浏览器_什么浏览器不屏蔽网站
- 24 - 面向对象1
- DEDECMS留言薄全站调用方法
- CodeForces 1538G : Gift Set 思维 + 二分
- 历时54年,完成了1574架飞机生产,“天空女王”波音747正式停产 | 美通社头条...
- 从网易云音乐网页版无登陆下载MP3的办法
- 安装office2016后文档表格不能显示图标
- Vue2的响应式原理
- xstream异常com.thoughtworks.xstream.security.ForbiddenClassException
- 【北亚数据恢复】DELL EqualLogic存储硬盘坏道数据恢复
热门文章
- 为VMware ESXi主机添加本地存储的过程及注意事项之2
- 探究操作系统的内存分配(malloc)对齐策略
- [收藏]实践参考:parted创建硬盘分区并创建LVM
- django orm 数据查询详解
- 20145226夏艺华 后门原理与实践
- canvas的基础使用。
- Linux SSH免密码登录
- XL, an extensible programming language, implements concept programming
- [翻译]在Asp.net 2.0中操作数据::母板页和站点导航
- C/C++指针 数组