Java数组3(2015-8-27)
1、
冒泡排序:有N个数,要比较N-1轮,第一轮比较了N-1次。每增加一轮,次数就会减少一次,则为N-1-i;选择排序法:有N个数,比较N-1次,第一轮找到最小值,放到下标最小的位置上,第二轮找剩下的最小值,如果该值没有在下标第二小的位置上,则把其放到该位置上。
/*
冒泡排序(BubbleSort)的讲解:降序 / 升序。(比较相邻的两个数据)
口诀:两两相比较,小靠前,外循环N-1次,内循环N-1-i次。
*/
public class Test3{
public static void main(String[] args){
//--定义个数组
int[] arr = new int[]{7,2,10,9,45,3};
//--临时变量
int temp = 0;
//最外层比较的次数为:数组的长度-1。N个数比较的轮数为N-1
for(int i=0;i<arr.length-1;i++){
//每一轮比较的次数为N-1-i;第一轮后最大值找到放最后,则下一次比较次数少一。
for(int j=0;j<arr.length-1-i;j++){
//--比较两个数据
if(arr[j]<arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
2、从键盘输入5个数,用冒泡法按降序排序并输出。
import java.util.Scanner;
public class FourTest{
public static void main(String[] args){
// 5,2,3,6,9
// 5,3,6,9,2
int[] arr = new int[5];
int temp;
Scanner scan = new Scanner(System.in);
for(int i=0;i<5;i++){
System.out.print("请输入第"+(i+1)+"个数据:");
int number = scan.nextInt();
arr[i] = number;
}
System.out.println("5个数据全部输入完毕!!!");
for(int i=0;i<arr.length-1;i++){
for(int k = 0;k<arr.length-1-i;k++){
//--数据的比较
if(arr[k]<arr[k+1]){
temp = arr[k];
arr[k] = arr[k+1];
arr[k+1] = temp;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
转载于:https://www.cnblogs.com/Ly426/p/4763070.html
Java数组3(2015-8-27)相关推荐
- java数组可扩展_[转载]Java数组扩容算法及Java对它的应用
Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的. 2)利用数组复制方法可以变通的实现数组扩容. 3)System.arraycopy()可以复制数组. 4)Arr ...
- java 数组冒泡排序、转置(降序)
1.java 数组冒泡排序 排序的基本原理(升序): 原始数据: 2 .1 .9 .0 .5 .3 .7 .6 .8: 第一次排序: 1 .2 .0 .5 .3 .7 .6 .8 .9 : 第二次 ...
- java 数组的拷贝 对象数组的拷贝 System.arraycopy函数
/* java 数组的操作 System类的arraycopy静态函数用于数组拷贝 数组是不能越界的 对象数组的复制实际上是复制的引用的拷贝 也就是对象的地址 */ class Point ...
- [转载]Java数组扩容算法及Java对它的应用
原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...
- Java数组数据类型
Java数组数据类型 数组是多个相同类型的数据的组合,数组中的元素可以是任何类型的数据: 一维数组 1 package com.ahabest.array; 2 public class ArratT ...
- java 数组成员_java 数组中含有
<数据结构与抽象:Java语言描述(原书第4版)>一2.2.1 可变大小数组 本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,第2.2. ...
- JAVA数组编程教程,Java入门超经典内部教程-数组
Java入门超经典内部教程-数组-1.jpg (31.84 KB, 下载次数: 0) 2018-8-18 17:18 上传 叩丁狼教育Java基础教程 1. 数组 1.1. JVM内存模型(掌握) J ...
- java数组简单介绍以及其方法
小谈一下java数组 数组是存放数据的容器,有两个特点:元素类型唯一,长度固定. 一维数组声明:类型[] 数组名;类型 数组名[];推荐用前一种. 多维数组声明同样是以上要求. 在数组创建时,要注意一 ...
- java 数组 反射_java数组的反射
java数组的反射,有一个JAVA API类可以运用:java.lang.reflect.Array 具体应用: 1:判断一个对象是否是数组: int arr[] = {1,2,3}; Class c ...
- java 2维数据便利_计算机等级考试二级java数组辅导
数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信息分组的便利方法. 注意: ...
最新文章
- php遍历父元素,PHP遍历函数将单个数组转换为具有子元素的嵌套数组 – 基于父标识...
- OpenStack 界面开发中的排序问题
- linux中ctime,mtime,atime的区别
- 轻松进行iPad Safari设置
- git部署与基本命令汇总
- qq聊天界面 java程序 51cto_Java QQ项目详细设计之:组操作模块
- 33行代码AC——例题6-5 移动盒子(Boxes in a Line, UVa 12657)——解题报告
- Python文档阅读笔记-OpenCV中Template Matching
- python 从大到小循环_python算法(3) 插入排序
- 《Go 语言程序设计》读书笔记(十)反射
- maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
- hana数据库 字段长度_SAP HANA: 列式内存数据库评测
- 项目管理中,制定项目进度计划有何意义?
- Rayman的绝顶之路——Leetcode每日一题打卡10
- 爬取b站最火up主及其粉丝信息
- 如何写SCI论文的摘要
- CV(1) : 光 颜色 颜色空间
- [Windows编程] 利用dxdiag获取用户机器硬件及OS信息
- VS中更改项目名称(以VS2017为例)
- 张量学习(6):张量代数