java 冒泡排序法、选择排序
1、冒泡排序
/*
* 冒泡排序
* 外层控制循环多少趟,内层控制每一趟的循环次数
*/
public class Test08 {
public static void main(String[] args) {
int num[] = {1,9,2,8,4,7,6,5,3}; //定义一个需要排序的数组
System.out.println("排序前的数组为:");
for (int n:num) { //用增强for循环对数组进行排序
System.out.print(n+"");
}
for (int i = 1; i < num.length; i++) { //控制循环的趟数
for (int j = 1; j < num.length-1-i; j++) { //每趟循环的次数,数组长度减 i 是因为最后一个数已经比前面的数大,不需要再进行比较
if (num[j]>num[j+1]) { //当j>j+1时,将两个数交换,大的放后面,当遇到比这个还要大的,再交换,最后就一定是最大的数
int temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
System.out.println();
System.out.println("排序后的数组为:");
for (int n:num) {
System.out.print(n+"");
}
}
}
https://www.cnblogs.com/shen-hua/p/5422676.html
2、选择排序
/*
* 选择排序
*
*/
public class Test07 {
public static void main(String[] args) {
int[] array = {8,6,7,5,1,4,3,9,2};
System.out.println("排序前:");
for (int i : array) {
System.out.print(i+", ");
}
System.out.println();
System.out.println("排序后:");
for (int i = 0; i < array.length; i++) { //外层控制比较的第一个数,内层把包括第一个数之后的数都都遍历一遍
for (int j = i; j <array.length; j++) {
if (array[i]>array[j]) { //用第一个数与后面的数依次比较,如果后面有比第一个数还要小的数就与他进行交换
int teamp = array[i];
array[i] = array[j];
array[j] = teamp;
}
}
}
for (int i : array) {
System.out.print(i+", ");
}
}
}
java 冒泡排序法、选择排序的更多相关文章
- Java 快速排序法 冒泡排序法 选择排序法 插入排序法
1.快速排序的原理: 选择一个关键值作为基准值.比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的). 从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果 ...
- Java冒泡排序与选择排序
Java排序: 一.冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. ...
- java 冒泡排序与选择排序
//冒泡排序 package test;public class Maopaosort { public static void method(){ int[] arr=new int[10]; ...
- 排序方法整理Java - 冒泡排序、选择排序、插入排序、快速排序
/** * 排序方法整理 * @author zhyea * */ public class Sort { /** * 冒泡排序,从小到大. * 冒泡排序是比较相邻的两个元素,若顺序错误,则执行交换. ...
- Java冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序
冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序地数列,一次比较两个元素,如果它们地顺序错误就把它们交换过来.走访数列地工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. ...
- php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法
这里我们介绍一些常用的排序方法,排序是一个程序员的基本功,所谓排序就是对一组数据,按照某个顺序排列的过程. 充效率看 冒泡排序法<选择排序法<插入排序法 排序分两大类: 内部排序法 交换式 ...
- Java版冒泡排序和选择排序
一.理解说明 1.理解和记忆 冒泡排序:依次定位数组元素,每次只和相邻的且符合条件的元素交换位置. 选择排序:依次在数组的每个位置,通过逐个对比选择出最大或最小的元素. 2.知识点说明 (1)数组是引 ...
- Java数据结构和算法总结-冒泡排序、选择排序、插入排序算法分析
前言:排序在算法中的地位自然不必多说,在许多工作中都用到了排序,就像学生成绩统计名次.商城商品销量排名.新闻的搜索热度排名等等.也正因为排序的应用范围如此之广,引起了许多人深入研究它的兴趣,直至今天, ...
- [Java算法] -- 1. 常用排序之冒泡排序和选择排序
使用Java语言实现冒泡排序和选择排序 推荐一个数据结构可视化的网站:http://zh.visualgo.net/zh (暂时访问不了) 对排序不太熟悉的朋友,建议去上面的网站学习一下,你将会发现一 ...
- java面向对象的冒泡排序,选择排序和插入排序的比较
这三种排序有俩个过程: 1.比较俩个数据. 2.交换俩个数据或复制其中一项. 这三种排序的时间级别 冒泡排序:比较 (N-1)+(N-2)+...+2+1 = N*(N-1)/2=N2/2 交换 0 ...
随机推荐
- 3.5 compose redux sages
基于 redux-thunk 的实现特性,可以做到基于 promise 和递归的组合编排,而 redux-saga 提供了更容易的更高级的组合编排方式(当然这一切要归功于 Generator 特性), ...
- Linux文件映射的反思
1. 思考 多个进程可以加载相同的共享链接库,比如C语言的运行库,加载运行库采用内存映射文件的方式,可以延迟对于文件内容的读入操作. 共享链接库文件,是一个elf格式的库文件,里面会包含多个不同的se ...
- PAT_A1012#The Best Rank
Source: PAT A1012 The Best Rank (25 分) Description: To evaluate the performance of our first year CS ...
- OpenFileDialog 打开图片存储到电脑本地上
替换图片 private void btnSkin_Click(object sender, RoutedEventArgs e) { string fName; OpenFileDialog ofd ...
- vs设置html的模板快
打开vs编辑器,点击文件-->首选项-->用户代码片段 之后选择先对应的编辑器模板 进入里面编写相对应的代码块 之后直接在编辑器中调用.
- explain分析sql语句执行效率
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优 ...
- javascript基础入门之js中的数据类型与数据转换01
javascript基础入门之js中的数据结构与数据转换01 js的组成(ECMAScript.BOM.DOM) js中的打印语句: 数据类型 变量 ...
- 函数中的toString
function Person(){ this.name = name; this.age = age; this . gender = gender; } // 创建一个Person实例 var ...
- 使用Fiddler抓取手机包
配置Fiddler 设置抓取HTTPS包 允许为外部连接 配置移动端 移动端需要能够连接到主机做代理, 设置移动端的网络, 端口为Fiddler的端口, 然后给移动端安装证书, 访问主机名+代理端口号 ...
- Change myself to be better
发现和改变自己不好的习惯 遇到问题的反应 自己遇到问题的时候,特别是不熟悉的问题的时候就会有点焦虑,这个应该是每个人都会有的,遇到自己不熟悉的或者是没有经历过的东西都会 感觉不舒服,或者是遇到难题或者 ...